我有一个需要验证属性和远程验证属性的字段。
我想仅在远程验证失败时显示错误消息,而不是在必需属性上显示。
我可以将错误消息设置为空字符串,但我不想修改ViewModel数据注释。
是否可以仅从客户端执行此操作,而无需修改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; }
}
答案 0 :(得分:2)
您可以disable所需的规则。例如,给出一个带有id" LoginForm"的表单。以及ID为" UserName"的必填输入字段,您可以使用以下任一方法禁用所需规则:
$("#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验证对象的规则和消息。
希望它有所帮助!