如果另一个属性在MVC 3/jQuery Validator上具有值,则验证属性

Ces*_*sar 5 validation asp.net-mvc jquery-validate asp.net-mvc-3

如果Prop1为true,我如何在属性Prop2中使用必需的验证?

Ex:
public bool Prop1 { get; set; }

[Required] // I need this validation only if the Prop1 is true.
public string Prop2 { get; set; }
Run Code Online (Sandbox Code Playgroud)

任何的想法?我需要在客户端和服务器端.谢谢

Mur*_*san 7

您可以使用MVC FoolProof Validation框架

它有一些有用的功能

[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch]

[Is]
[EqualTo]
[NotEqualTo]
[GreaterThan]
[LessThan]
[GreaterThanOrEqualTo]
[LessThanOrEqualTo]
Run Code Online (Sandbox Code Playgroud)

希望这会对你有所帮助!


Zot*_*ote 0

您可以编写一个自定义验证器来完成此作业。

如果您需要帮助来完成此操作,请告诉我。

  • 我是说“CustomValidator” http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.aspx 与您添加到 jQuery 验证插件的规则不同。通过添加验证提供程序(如我的答案),您可以指定添加的规则。这些由 jQuery 在 DOM 上解析。添加单个验证脚本并不像允许 DataAnnotations 框架为您生成这些规则那样灵活或可重用。 (2认同)