没有绑定属性的条件验证

Posted

技术标签:

【中文标题】没有绑定属性的条件验证【英文标题】:Conditional validation without binding attribute 【发布时间】:2013-04-13 00:42:55 【问题描述】:

我正在处理遗留代码库,并且遇到了一种情况,即如果其他字段“otherField”具有某些值(否则字段未验证),则需要验证字段“fieldToValidate”。但是,“otherField”字段没有绑定属性。 我可以添加一个绑定,然后像这样更新代码:

<h:inputTextarea id="fieldToValidate" value="#MyBean.fieldToValidate" 
required="#MyBean.otherField != 'special_value'" />

但是,有很多地方应该添加验证,我不想修改支持 bean。有没有办法在不添加“绑定”的情况下实现验证?

不能使用某些 JS 库进行验证。

【问题讨论】:

【参考方案1】:

您确实不一定需要将其绑定到 bean 属性。只需省略MyBean. 部分即可将其直接绑定到视图范围。

<h:selectOneMenu binding="#otherField" ... />
...
<h:inputTextarea ... required="#otherField != 'special_value'" />

另见:

JSF component binding without bean property What is component binding in JSF? When it is preferred to be used?

【讨论】:

以上是关于没有绑定属性的条件验证的主要内容,如果未能解决你的问题,请参考以下文章

C# 使按钮在两个条件为真后可见,可绑定属性

如果值被模型绑定器绑定,则应用所需属性

MAUI新生2.5-数据绑定和MVVM:MVVM的属性验证

如何对绑定到 mvc 中模型的相同属性的多个局部视图应用验证?

Vue 表单验证、数据验证2--input当中v-model绑定对象不实时更新

在 Windows 商店应用程序中通过验证将双重绑定到文本框