JSF / PrimeFaces:填写至少一个X字段

时间:2014-11-04 15:21:35

标签: java jsf primefaces

我目前正在开发一个动态表单系统,并且必须实现一个功能,其中用户(设置应从某些预定义字段显示哪些表单字段)必须能够定义哪些输入字段是必需的,哪些不是。还必须设置以下内容:“应显示字段A和B.您需要至少填写其中一个(A或B,或者如果您想要A和B)来提交表单。”

我已存储以下数据:

0: not displayed
1: displayed
2: displayed and required (w/o any dependency to another field)
greater than 1: Custom identifier

示例:

name: 1
birthday: 2
city: 2
x: 3
y: 3
postal code: 0

使用该设置,用户必须填写名称 生日城市以及x或y。

JSF是否支持那种“必需”字段?

此致

2 个答案:

答案 0 :(得分:2)

在primefaces 4.0(http://www.primefaces.org/docs/vdl/4.0/primefaces-p/inputText.html)的文档中,属性required接受javax.el.ValueExpression 必须评估java.lang.Boolean

我的理解将导致创建一个返回Boolean的backbean函数,并使用您自己的逻辑来确定它是true还是false(考虑到帐户)用户设置和当前元素。)

答案 1 :(得分:0)

不,这种交叉现场验证不是开箱即用的。您需要通过自定义验证来实现此目的。