我使用jquery.validate.js进行字段验证。 它的显示错误消息按照.js文件中的相应字段声明。
我使用此代码进行电子邮件字段的自定义验证。
<script type="text/javascript">
$().ready(function() {
$("#formcustomplan").validate({
email: {
required: true,
email: true
},
messages: {
email: "Email is required in valid format"
}
});
});
</script>
显示消息,例如“有效格式需要电子邮件” 但我希望该错误消息获取电子邮件ID并将其显示在错误消息中。 (例如,如果我在电子邮箱中输入test.com。它应该在错误消息中显示“test.com无效的电子邮件”)
答案 0 :(得分:1)
JQuery Validate实际上直接支持functions as messages,所以你不需要做任何超级hacky来做这项工作。它没有很好的记录,但你可以这样做:
messages: {
email: {
email: function (params, element) {
return '"'+$(element).val()+'" is not a valid value';
}
}
}
来自文档的引用:
每条消息都可以是String或Callback。调用回调 验证器的范围,规则的参数为第一个 参数和元素作为第二个,并且必须返回一个String 显示为消息。
答案 1 :(得分:0)
您可以使用以下方法重置默认电子邮件验证邮件:
$.validator.messages.email = "Your custom message for email field"
在您的情况下,您可以将用户输入中的新值添加到自定义消息中。以下是使用keyup
的技巧:
$('.email').keyup(function () {
$.validator.messages.email = $('.email').val() + ' is not valid email';
});
$("#formcustomplan").validate({
email: {
required: true,
email: true
}
});
<强> Updated Fiddle 强>