Kev*_*own 348 jquery jquery-validate
有没有一种简单的方法来更改jQuery验证插件中的默认错误值?
我只想重写错误信息,以便更贴近我的应用程序 - 我有很多字段,所以我不想为字段x单独设置消息......我知道我可以做到!
Nic*_*ver 715
在验证插件之后包含的单独文件/脚本中添加此代码以覆盖消息,随意编辑:)
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}.")
});
Run Code Online (Sandbox Code Playgroud)
Ste*_*ven 225
您可以在验证调用中指定自己的消息.从Validation插件文档(http://jquery.bassistance.de/validate/demo/milk/)中使用的Remember the Milk注册表单中提取和缩写此代码,您可以轻松指定自己的消息:
var validator = $("#signupform").validate({
rules: {
firstname: "required",
lastname: "required",
username: {
required: true,
minlength: 2,
remote: "users.php"
}
},
messages: {
firstname: "Enter your firstname",
lastname: "Enter your lastname",
username: {
required: "Enter a username",
minlength: jQuery.format("Enter at least {0} characters"),
remote: jQuery.format("{0} is already in use")
}
}
});
Run Code Online (Sandbox Code Playgroud)
完整的验证API(...):http://jqueryvalidation.org/validate
Jos*_*osh 83
这对我有用:
$.validator.messages.required = 'required';
Run Code Online (Sandbox Code Playgroud)
小智 46
这对我有用:
// 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.",
}
}
})
Run Code Online (Sandbox Code Playgroud)
use*_*577 37
由于我们已经在使用JQuery,我们可以让页面设计者将自定义消息添加到标记而不是代码:
<input ... data-msg-required="my message" ...
Run Code Online (Sandbox Code Playgroud)
或者,在所有字段上使用单个short data-msg属性的更通用的解决方案:
<form id="form1">
<input type="text" id="firstName" name="firstName"
data-msg="Please enter your first name" />
<br />
<input type="text" id="lastName" name="lastName"
data-msg="Please enter your last name" />
<br />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
然后代码包含这样的内容:
function getMsg(selector) {
return $(selector).attr('data-msg');
}
$('#form1').validate({
// ...
messages: {
firstName: getMsg('#firstName'),
lastName: getMsg('#lastName')
}
// ...
});
Run Code Online (Sandbox Code Playgroud)
Gan*_*ske 21
另一种可能的解决方案是遍历字段,向每个字段添加相同的错误消息.
$('.required').each(function(index) {
$(this).rules("add", {
messages: {
required: "Custom error message."
}
});
});
Run Code Online (Sandbox Code Playgroud)
您可以在下载本地化文件夹中包含一个额外的js文件,而不是更改插件源代码,并在加载validation.js后包含该文件.
jQuery.extend(jQuery.validator.messages, {
required: ...,
maxlength: jQuery.validator.format(...),
...
});
Run Code Online (Sandbox Code Playgroud)
小智 5
@Josh:您可以使用资源包中的已翻译消息扩展您的解决方案
<script type="text/javascript">
$.validator.messages.number = '@Html.Raw(@Resources.General.ErrorMessageNotANumber)';
</script>
Run Code Online (Sandbox Code Playgroud)
如果您将此代码部分放入_Layout.cshtml(MVC)中,则它可用于您的所有视图
| 归档时间: |
|
| 查看次数: |
488720 次 |
| 最近记录: |