仅当输入有效时才执行 p:ajax
Execute p:ajax only if input is valid
我想使用 p:ajax
显示带有搜索建议的 primefaces 叠加层,如下所示:
<p:inputText value="#{bean.input}" required="true"
validatorMessage="Add at least 3 characters">
<f:validateLength minimum="3" maximum="64"/>
<p:ajax event="keyup" delay="200" process="@this"
listener="#{bean.createSuggestions()}"
update="overlay"
oncomplete="showOverlay()"/>
</p:inputText>
问题是没有进行任何验证。
我可以使用 javascript onstart 处理程序并再次检查输入作为解决方法。
Execute p:ajax only if input is valid
只有在客户端进行验证才有可能,因为您已经想到了解决方法。
备选方案是仅在没有验证错误时才执行 oncomplete
。
oncomplete="if (args && !args.validationFailed) showOverlay()"
出于此处提到的原因,双重检查和丑陋的 XML 转义是必要的:Keep p:dialog open when a validation error occurs after submit。
我想使用 p:ajax
显示带有搜索建议的 primefaces 叠加层,如下所示:
<p:inputText value="#{bean.input}" required="true"
validatorMessage="Add at least 3 characters">
<f:validateLength minimum="3" maximum="64"/>
<p:ajax event="keyup" delay="200" process="@this"
listener="#{bean.createSuggestions()}"
update="overlay"
oncomplete="showOverlay()"/>
</p:inputText>
问题是没有进行任何验证。
我可以使用 javascript onstart 处理程序并再次检查输入作为解决方法。
Execute p:ajax only if input is valid
只有在客户端进行验证才有可能,因为您已经想到了解决方法。
备选方案是仅在没有验证错误时才执行 oncomplete
。
oncomplete="if (args && !args.validationFailed) showOverlay()"
出于此处提到的原因,双重检查和丑陋的 XML 转义是必要的:Keep p:dialog open when a validation error occurs after submit。