我目前正在使用MVC数据注释来验证我的表单,看起来很容易。
现在,我有一个特殊的情况:
IF(checkbox1value = checked),然后验证文本框是否为空。如果文本框为空,则显示验证错误消息。
我该怎么做?复选框和文本框都可用作我的模型属性(分别为bool和string)。
是否可以通过自定义验证来完成此操作?
答案 0 :(得分:2)
您可以使用自定义验证程序或IValidateableOject
对两个选项here
有一个很好的解释从链接。 如果您需要支持客户端验证,那么您可以使用自定义验证器。
如果您的验证严格地是服务器端,并且您希望一次验证许多业务规则,那么请使用IValidateableObject。
答案 1 :(得分:0)
我不得不切换到Foolproof validation,它通过它的RequiredIfTrue验证器提供此功能。我也非常喜欢Fluent Validation,因为它非常灵活,并且还可以轻松提供此功能。为每个验证器提供了万无一失的客户端支持,其中客户端和服务器验证与Fluent验证之间的界限不容易区分。