多个模型属性的数据注释验证

时间:2017-07-12 12:56:21

标签: asp.net-mvc data-annotations

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

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

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

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

是否可以通过自定义验证来完成此操作?

2 个答案:

答案 0 :(得分:2)

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

对两个选项here

有一个很好的解释

从链接。 如果您需要支持客户端验证,那么您可以使用自定义验证器。

如果您的验证严格地是服务器端,并且您希望一次验证许多业务规则,那么请使用IValidateableObject。

答案 1 :(得分:0)

我不得不切换到Foolproof validation,它通过它的RequiredIfTrue验证器提供此功能。我也非常喜欢Fluent Validation,因为它非常灵活,并且还可以轻松提供此功能。为每个验证器提供了万无一失的客户端支持,其中客户端和服务器验证与Fluent验证之间的界限不容易区分。