2011-12-21 72 views
1

有关使用除去验证来验证一个单一的值这MSDN文章会谈ASP.Net MVC3远程验证....具有多个值

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方式提交两个或三个字段并获取整体验证结果。

这是如何实现的?

+0

如果需要验证对多个值不是你验证形式,而不仅仅是一个领域?这些多重价值是形式的一部分吗? – StuperUser 2011-12-21 13:27:23

+0

是的,他们是同一种形式的一部分。 – Remotec 2011-12-21 15:43:07

回答

5

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

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

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

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