我想在adf 12c .jsf页面的输入文本字段中添加验证。当用户进入CNIC时,它应该是“xxxxx-xxxxxxx-x”这种格式,否则它将以正确的格式显示输入错误。这是我的输入字段代码:
<af:inputText value="#{row.bindings.Name.inputValue}"
label="#{bindings.TblCertificationView1.hints.Name.label}"
required="#{bindings.TblCertificationView1.hints.Name.mandatory}"
columns="#{bindings.TblCertificationView1.hints.Name.displayWidth}"
maximumLength="#{bindings.TblCertificationView1.hints.Name.precision}"
shortDesc="#{bindings.TblCertificationView1.hints.Name.tooltip}" id="it2">
<f:validator binding="#{row.bindings.Name.validator}"/>
</af:inputText>
一种方法是使用validateRegex标记(https://www.javatpoint.com/jsf-validateregex)。
它用于检查组件的本地值是否与java.util.regex包中的正则表达式匹配。
在你的情况下:
<af:inputText value="#{row.bindings.Name.inputValue}"
label="#{bindings.TblCertificationView1.hints.Name.label}"
required="#{bindings.TblCertificationView1.hints.Name.mandatory}"
columns="#{bindings.TblCertificationView1.hints.Name.displayWidth}"
maximumLength="#{bindings.TblCertificationView1.hints.Name.precision}"
shortDesc="#{bindings.TblCertificationView1.hints.Name.tooltip}" id="it2">
<f:validator binding="#{row.bindings.Name.validator}"/>
<f:validateRegex pattern="(^[0-9]{5}-[0-9]{7}-[0-9]$)"/>
</af:inputText>