两个范围数据注释 MVC

Two Range Data annotations MVC

我正在尝试使用数据注释来验证 MVC 中的下拉列表。下拉列表的值范围为 10-23,然后也可以是 99。有没有办法使用两个范围数据注释来只允许那些可能的值通过?

类似

[Range(10-23)]
[Range(99-99)]
public int DropDownListValue { get; set; }

或者是否有正则表达式或可以为我做这件事的东西?或者我只是制作一个自定义验证器会更好吗?

您可以使用正则表达式属性来实现此目的

[RegularExpression("^(1[0-9]|2[0-3]|99)$")]
public int DropDownListValue { get; set; }

备注:

  1. 1[0-9] 在 10 和 19
  2. 之间验证
  3. 2[0-3] 在 20 和 23
  4. 之间验证
  5. 99 验证为 99 :)
  6. 您可以在它们之间使用 | 添加更多验证
  7. ^$ 确保整个字符串都经过验证(不正确:a11a、a11、11a)(正确: 11).