我在表单上有jsf验证,其中基于
突出显示无效字段styleClass="#{component.valid ? 'reportInput' : 'reportInput_invalid'}"
并且工具提示用于显示错误消息,如下所示
<p:tooltip for="inputFieldId">
<p:message for="inputFieldId" />
</p:tooltip>
一切都按预期工作,但我想改善用户体验,并希望使用
引入纯客户端验证<p:clientValidator />
我试过这个但是当在输入字段上触发onBlur事件时它没有用到我得到了以下JS错误
'null' is Null or no Object
in validation.js.jsf and the line code is
d.data("uiMessageId",b.attr("id"))
有可能实现吗?
我输入字段的一个示例是:
<p:inputText id="bic"
styleClass="#{component.valid ? 'reportInput' : 'reportInput_invalid'}"
value="#{bean.bic}"
required="true" requiredMessage="Field value is required" >
<p:watermark for="bic" value="CMHJKLIL" />
<pe:keyFilter regEx="/[a-z0-9]/i" />
<f:validateLength minimum="8" />
<p:clientValidator/>
</p:inputText>
我正在使用具有以下maven依赖性的Primefaces 4
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>4.0</version>
</dependency>
这里看起来像jsf页头部分
这是正在使用的validation.js文件 validatuion.js here
答案 0 :(得分:0)
我有完全相同的错误。
似乎validator.js代码搜索附加到该字段的消息容器,并且,如果找不到它,则以最近的形式“e.findUIMessage(a,d.closest(”form“))搜索一个.find( “div.ui消息”))“
你需要的是有一个标签, 也就是说,为inputtext分配的消息,因此,当验证器生成错误时,它可以在该消息容器中发布文本。