0
A
回答
0
JSF2会让你做一个表单级的验证。现在,你将不得不凑合着用两种:形式 提交后
- 验证在一个Bean和填充 的FacesMessage给用户,如果它失败。
- 将验证程序添加到一个字段,并在 验证程序加载其他 字段并检查其值。
1
只要让required
属性取决于其请求参数映射中其他输入字段的存在结果。
<h:form id="form">
<h:inputText id="input1" value="#{bean.input1}" required="#{empty param['form:input2'] and empty param['form:input3']}" />
<h:inputText id="input2" value="#{bean.input2}" required="#{empty param['form:input1'] and empty param['form:input3']}" />
<h:inputText id="input3" value="#{bean.input3}" required="#{empty param['form:input1'] and empty param['form:input2']}" />
</h:form>
另外,您还可以利用组件的结合,并使用UIInput#getValue()
检查以前的组件的价值和UIInput#getSubmittedValue()
检查它们为尚未对被验证的组件(组件的顺序处理它们出现在组件树中)。这样你就不需要对客户端ID进行硬编码。您只需确保绑定名称与现有的托管bean名称不冲突。
<h:form>
<h:inputText binding="#{input1}" required="#{empty input2.submittedValue and empty input3.submittedValue}" />
<h:inputText binding="#{input2}" required="#{empty input1.value and empty input3.submittedValue}" />
<h:inputText binding="#{input3}" required="#{empty input1.value and empty input2.value}" />
</h:form>
0
如果您不想使用必需的属性或JavaScript,那么有两种方法。
其中之一是创建一个验证器,但在我看来,这太过分了。
我只会检查输入在bean中是空还是空。
if ("".equals(theFieldYouWantToCheck) || theFieldYouWantToCheck == null) {
//Either throw exception or return "false" so that you can handle it
}
0
如果您使用RichFaces的,那么你可以按照如下步骤进行验证(见http://mkblog.exadel.com/ria/richfaces-ria/richfaces-built-in-client-functions/):
<h:form id="form">
<h:inputText id="input1" value="#{bean.input1}" />
<h:inputText id="input2" value="#{bean.input2}"
required="#{empty rich:findComponent('input1').submittedValue}"
requiredMessage="At least one of the fields input1 and input2 must be filled."/>
</h:form>
注意,表达丰富:findComponent( '输入1')等同为UIComponent [”输入1' ]。原因是Seam提供了动态映射uiComponent来查找UI组件。
相关问题
- 1. 验证至少一个字段是以dhtmlx格式填充
- 2. 至少有一个字段必须填写,cakephp验证
- 3. 验证至少要填写一个字段,重力形式
- 4. 基因敲除验证 - 至少有一个字段有一个值,至少有一个复选框检查
- 5. 检查是否至少有一个输入字段填写jQuery
- 6. jQuery表单验证器 - 至少一个输入填充
- 7. 验证当它们中的至少一个被填充
- 8. CakePHP的数据验证:如果至少一个字段被填充和多个规则没有验证
- 9. PHP验证 - 检查是否有1个字段填充
- 10. 检查至少一个复选框检查jquery验证
- 11. jquery验证插件至少检查一个字母和一个数字
- 12. 从3个必填字段验证器中选择至少一个复选框
- 13. jquery验证(至少有一个字段有文字)
- 14. Bean验证:列表中至少有一个元素必须填充一个字段
- 15. Asp.net必填字段验证问题
- 16. 问题与jQuery验证插件和检查2的一个领域填充
- 17. 如何验证淘汰赛js中至少有一个字段必须填写
- 18. asp.net必填字段验证至少有一个文本框包含文本
- 19. ZF2:允许空字段集,但验证是否至少填写了一个
- 20. django的内联编辑如果至少一个字段被填充了
- 21. JQuery验证检查至少一个复选框
- 22. 检查至少一个复选框验证jQuery中
- 23. 欧芹验证器 - 至少需要一个字段
- 24. Rails - 无法验证至少有一个字段为空
- 25. 检查是否至少有一行被填充
- 26. 验证至少有一个复选框使用jQuery验证器进行检查
- 27. MVC DataAnnotations - 要求填写组中至少有一个字段
- 28. Hibernate验证注释 - 验证至少有一个字段不为空
- 29. 如何验证以便至少需要1个字段,当第二个字段有两个必填字段时
- 30. 检查是否至少有一个表单字段已经充满