2013-06-27 73 views
1

我有一個字段需要驗證屬性和遠程驗證屬性。jquery驗證:僅在特定方法上顯示錯誤消息

我想僅在遠程驗證失敗時才顯示錯誤消息,而不是所需的屬性。

我可以將錯誤信息爲空字符串,但我不希望修改視圖模型數據註釋。

只能從客戶端完成此操作,而無需修改ViewModel屬性?

// working hack 
public class CreateViewModel 
{ 
    [Required(ErrorMessage = " ")] 
    [Remote("IsUserNameValid", "Users", ErrorMessage = "This user name is already used")] 
    [Display(Name = "User Name")] 
    public string UserName { get; set; } 
} 

回答

2

你可以disable所需的規則。例如,給定ID爲「LoginForm的」和ID爲「用戶名」所需的輸入域的表單,您可以禁止使用這兩種必需的規則:

$("#UserName").rules("remove", "required"); 
$("#loginForm").validate().settings.rules["UserName"].required= false; 

另一種選擇是change the error message爲空字符串。同樣,你有幾個選項,例如:

$("#UserName").rules("add", { 
    messages: { 
     required: "" 
    } 
}); 
$("#loginForm").validate().settings.messages["UserName"].required= ''; 

這到底是關於與形式jQuery驗證對象的規則和信息播放。

希望它有幫助!

相關問題