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

时间:2011-12-21 13:25:48

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

这篇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; }
}

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

如何实现这一目标?

1 个答案:

答案 0 :(得分:5)

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

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

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

public ActionResult IsUID_Available(string username, string email)
{
    ...
}