我正在使用JSF,我想验证表单。
在表单中是一个由if (window.isDevice) {
window.requestFileSystem(window.PERSISTENT, 512, onInitFs, errorHandler);
} else {
callback(fc);
}
验证的文本字段和验证方法。
required="true"
要提交表单,我有两个按钮。单击第一个时,应仅验证该字段是否为空。到第二个时,应该另外调用自定义验证。 这可能吗?
答案 0 :(得分:3)
首先将该验证方法转换为真正的Validator
实现。
@FacesValidator("topicValidator")
public TopicValidator implements Validator {}
然后,您可以在支持disabled
属性的<f:validator>
中使用它。
<h:inputText ...>
<f:validator validatorId="topicValidator" disabled="..." />
</h:inputText>
要检查是否按下某个按钮,只需在请求参数映射中检查其客户端ID是否存在。
<h:inputText ...>
<f:validator validatorId="topicValidator" disabled="#{empty param[secondButton.clientId]}" />
</h:inputText>
...
<h:commandButton binding="#{secondButton}" ... />
注意:绝对不要将它绑定到bean属性!上面的代码是原样的。您应该只保证EL变量#{secondButton}
在当前视图中是唯一的,而不是由另一个组件甚至是托管bean共享。