下拉和单选按钮上带有数据注释的MVC Razor条件验证

时间:2012-09-02 07:19:03

标签: asp.net-mvc asp.net-mvc-3 validation

我是MVC Razor的新手。我必须在下拉选择和单选按钮(使用数据注释)上实现条件验证。我有两个条件:

  1. 我的下拉列表包含三个值:yes,no和none。如果用户选择“无”,则只应对剩余的字段(如城市和州)应用必需的验证。
  2. 我有两个单选按钮,是和否。如果用户选择“否”,则只应对剩余字段(如zipcode)应用所需的验证。
  3. 我找到了很多解决方案,但没有一个是理想的。如果您是MVC Razor的大师,请向我提供演示样本zip,无论我上面仅解释过。

1 个答案:

答案 0 :(得分:1)

对于具有“属性间”验证的情况,DataAnnotation通常不是最好(或清晰或易于实现)的工具。

看看FluentValidation http://fluentvalidation.codeplex.com/

您将能够编写像(pseudoCode)

这样的规则
RuleFor(m => m.City)
      .NotNull()
      .When(m => m.<mydropdownName> == Conditions.None)
      .WithMessage("You must choose a city when you chosse none");