// Change default JQuery validation Messages.
$("#addnewcadidateform").validate({
rules: {
firstname: "required",
lastname: "required",
email: "required email",
},
messages: {
firstname: "Enter your First Name",
lastname: "Enter your Last Name",
email: {
required: "Enter your Email",
email: "Please enter a valid email address.",
}
}
})
4
在包含 after 验证插件的单独文件/脚本中添加此代码以覆盖消息,随意编辑:)
jQuery.extend(jQuery.validator.messages, {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits.",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: jQuery.validator.format("Please enter no more than {0} characters."),
minlength: jQuery.validator.format("Please enter at least {0} characters."),
rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."),
range: jQuery.validator.format("Please enter a value between {0} and {1}."),
max: jQuery.validator.format("Please enter a value less than or equal to {0}."),
min: jQuery.validator.format("Please enter a value greater than or equal to {0}.")
});
-1
由于我们已经在使用JQuery,我们可以让页面设计者将自定义消息添加到标记而不是代码:
<input ... data-msg-required="my message" ...
或者,在所有字段上使用单个short data-msg属性的更通用的解决方案:
<form id="form1">
<input type="text" id="firstName" name="firstName"
data-msg="Please enter your first name" />
<input type="text" id="lastName" name="lastName"
data-msg="Please enter your last name" />
<input type="submit" />
</form>
// Jquery Validation
$('.js-validation').each(function(){
//Validation Error Messages
var validationObjectArray = [];
var validationMessages = {};
$(this).find('input,select').each(function(){ // add more type hear
var singleElementMessages = {};
var fieldName = $(this).attr('name');
if(!fieldName){ //field Name is not defined continue ;
return true;
}
// If attr data-error-field-name is given give it a priority , and then to placeholder and lastly a simple text
var fieldPlaceholderName = $(this).data('error-field-name') || $(this).attr('placeholder') || "This Field";
if( $( this ).prop( 'required' )){
singleElementMessages['required'] = $(this).data('error-required-message') || $(this).data('error-message') || fieldPlaceholderName + " is required";
}
if( $( this ).attr( 'type' ) == 'email' ){
singleElementMessages['email'] = $(this).data('error-email-message') || $(this).data('error-message') || "Enter valid email in "+fieldPlaceholderName;
}
validationMessages[fieldName] = singleElementMessages;
});
$(this).validate({
errorClass : "error-message",
errorElement : "div",
messages : validationMessages
});
});
12 回答
您可以在验证调用中指定自己的消息 . 从Validation插件文档(http://jquery.bassistance.de/validate/demo/milk/)中使用的Remember the Milk注册表单中提取和缩写此代码,您可以轻松指定自己的消息:
用于验证(...)的完整API:http://jqueryvalidation.org/validate
这对我有用:
这对我有用:
在包含 after 验证插件的单独文件/脚本中添加此代码以覆盖消息,随意编辑:)
由于我们已经在使用JQuery,我们可以让页面设计者将自定义消息添加到标记而不是代码:
或者,在所有字段上使用单个short data-msg属性的更通用的解决方案:
然后代码包含这样的内容:
另一种可能的解决方案是遍历字段,向每个字段添加相同的错误消息 .
您可以在下载本地化文件夹中包含其他js文件,而不是更改插件源代码,并在加载validation.js后包含该文件 .
@Josh:您可以使用资源包中的已翻译消息扩展您的解决方案
如果您将此代码部分放入_Layout.cshtml(MVC)中,它可用于您的所有视图
最新版本有一些很好的在线内容你可以做 .
如果它是一个简单的输入字段,你可以像这样添加属性
data-validation-error-msg
-如果你需要更重的东西,你可以使用一个变量完全自定义东西,其中包含传递给validate函数的所有值 . 请参阅此链接以获取完整详细信息 - https://github.com/victorjonsson/jQuery-Form-Validator#fully-customizable
我从没想过这会如此简单,我正在研究一个处理这种验证的项目 .
以下答案对于想要不费力地更改验证消息的人有很大帮助 .
以下方法使用“占位符名称”代替“此字段” .
您可以轻松修改内容
要删除所有默认错误消息,请使用
我们可以指定文本字段的类型,而不是这些自定义错误消息 .
例如:将字段的类型设置为type ='email'
然后插件将识别该字段并正确验证 .