具有多个值的ASP.Net MVC3远程验证

Rem*_*tec 1 validation asp.net-mvc asp.net-mvc-3

这篇MSDN文章讨论了使用删除验证来验证单个值....

http://msdn.microsoft.com/en-us/library/gg508808%28v=vs.98%29.aspx

特别是,模型属性被归因,以便调用删除验证...

public class CreateUserModel : EditUserModel {
    [Required]
    [StringLength(6, MinimumLength = 3)]
    [Remote("IsUID_Available", "Validation")]
    [RegularExpression(@"(\S)+", ErrorMessage = "White space is not allowed.")]
    [Editable(true)]
    public override string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是远程验证,其中考虑了许多字段.例如,我可能希望以Ajax方式提交两个或三个字段并返回整体验证结果.

怎么能实现这一目标?

Dar*_*rov 5

您可以设置AdditionalFields属性的[Remote]属性,以便将其他属性值发送到操作.

[Remote("IsUID_Available", "Validation", AdditionalFields = "Email")]
public override string UserName { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后在你的控制器动作内:

public ActionResult IsUID_Available(string username, string email)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)