Difference between UIInput#getValue() and getLocalValue() during validation

十年热恋 提交于 2019-11-27 18:45:16

问题


I would like to have an illustrative explanation about the difference between getValue() and getLocalValue() methods of UIInput components in the aspect of performing multiple field validation: jsf validate two fields in one time.

What is the difference in usage of this methods if the fields are already validated? The ValueHolder API documentation is not very helpful in answering this.


回答1:


If the UIInput component has been validated beforehand and is marked invalid (i.e. isValid() method returns false), then the getLocalValue() returns null, but the getValue() returns the old model value, if any. If it's marked valid, then both returns the same value, namely the submitted, converted and validated value.

You'd like to add a check on isValid() beforehand. You may find the source code examples of the OmniFaces multiple field validators helpful. See the ValidateMultipleFields source code link at the bottom of the <o:validateEqual> showcase page.

See also:

  • JSF doesn't support cross-field validation, is there a workaround?


来源:https://stackoverflow.com/questions/10948831/difference-between-uiinputgetvalue-and-getlocalvalue-during-validation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!