2011-12-21 83 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) 
{ 
    ... 
}