验证期间UIInput#getValue()和getLocalValue()之间的差异

时间:2012-06-08 12:26:24

标签: validation jsf jsf-2 lifecycle

我希望在执行多字段验证方面对getValue() getLocalValue() {{1}}方法的区别进行说明性解释:UIInput components

如果字段已经过验证,这种方法的用法有何不同? jsf validate two fields in one time对此问题没有多大帮助。

1 个答案:

答案 0 :(得分:6)

如果事先验证了UIInput组件并且标记为无效(即isValid()方法返回false),则getLocalValue()会返回null,但getValue()返回旧模型值(如果有)。如果它被标记为有效,则两者都返回相同的值,即提交,转换和验证的值。

您希望事先在isValid()上添加一项检查。您可能会发现OmniFaces多个字段验证器的源代码示例很有帮助。请参阅ValidateMultipleFields展示页面底部的<o:validateEqual>源代码链接。

另见: