【问题标题】:Data annotation validation for multiple model properties多个模型属性的数据注释验证
【发布时间】:2017-12-16 22:01:17
【问题描述】:

我目前正在使用 MVC 数据注释来验证我的表单,它看起来很简单。

现在,我有一个特殊的情况:

IF(checkbox1value = checked),然后验证文本框是否为空。如果文本框为空,则显示验证错误消息。

我该怎么做?复选框和文本框都可用作我的模型属性(分别为 bool 和 string)。

是否可以通过自定义验证来做到这一点?

【问题讨论】:

  • 为此使用 jquery 验证。
  • 我的页面中还有针对单个字段的其他验证。那么,我应该在 jquery 中做所有事情还是只做这个自定义验证?如果是的话,你能举个例子吗?

标签: asp.net-mvc data-annotations


【解决方案1】:

您可以使用自定义验证器或IValidateableOject

here 这两个选项都有很好的解释。

来自链接。 如果您需要支持客户端验证,那么您需要自定义验证器。

如果您的验证是严格的服务器端验证,并且您想一次验证多个业务规则,请使用IValidateableObject

【讨论】:

    【解决方案2】:

    我不得不切换到Foolproof validation,它通过RequiredIfTrue 验证器提供了这个功能。我也非常喜欢Fluent Validation,因为它非常灵活,并且也很容易提供此功能。为每个验证器提供了万无一失的客户端支持,使用 Fluent Validation 进行客户端验证和服务器验证之间的界限并不那么容易区分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-14
      • 2011-08-08
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多