我有一个包含大量inputText的表单,我想要的是突出那些没有填充正确数据的人.
我试图使用'component.valid',但它总是返回该字段无效(即字段始终为红色).
这是代码:
<h:inputText value="#{creerPersonne1.nom}" id="nom"
style="#{not nom.valid ? 'border-color:red;' : 'border-color:black;'}">
<f:validateRegex pattern="^[a-zA-Z]+$"></f:validateRegex>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
这是结果:

请注意,第一次加载页面时,该字段也会突出显示.
Mat*_*ndy 21
你应该使用component.valid而不是nom.valid.
component是当前输入组件的隐式EL对象.并component.valid调用isValid()服务器端组件的方法.这个id论点不能用这种方式.
因此,您应该按如下方式更改代码:
style="#{ component.valid ? 'border-color:black;' : 'border-color:red;'}"
Run Code Online (Sandbox Code Playgroud)
(不相关,但你应该更好地使用样式类而不是硬编码样式.有效检查也适用于styleClass属性).
| 归档时间: |
|
| 查看次数: |
14764 次 |
| 最近记录: |