jQuery 验证时出现不同的错误消息
Different error message on jQuery validation
我正在使用 jQuery 验证插件。
我有一个必需的 url 输入,当它为空时 return 错误 "This field is required."。
我想要的是当这个输入的值为'home'时,将错误更改为"There is already a homepage"。但仅当在输入字段中键入 'home' 时。
这是我的 jQuery 代码:
$("#edit_pages_form").validate({
errorClass: "has-error",
validClass: "has-success",
highlight: function(element, errorClass, validClass) {
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
您可能会注意到我突出显示了输入字段,当输入字段为空时我添加了 has-error class,当不为空时我添加了 has-success class。
我想要的是当输入 'home' 作为值时,要添加的 class 有错误。
提前致谢
只需添加一个 if 语句来检查值是否为 home?
$("#edit_pages_form").validate({
errorClass: "has-error",
validClass: "has-success",
has-error: "has-error",
highlight: function(element, errorClass, validClass) {
if($('#url-texbox-id').val() == "home"){
$(element).closest("div")
.addClass(has-error);
.removeClass(validClass);
}
else{
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
}
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
您可以创建自定义验证方法:
<form class="cmxform" id="edit_pages_form" method="get" action="">
<fieldset>
<p>
<label for="cname">Name</label>
<input id="name" name="name" type="text" required>
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
$(document).ready(function() {
jQuery.validator.addMethod("isHome", function(value, element) {
if (value.length == 4) {
return (value != "home");
}
return true;
}, "There is already a homepage");
$("#edit_pages_form").validate({
rules: {
name: {
isHome: true
}
},
errorClass: "has-error",
validClass: "has-success",
highlight: function(element, errorClass, validClass) {
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
});
我正在使用 jQuery 验证插件。
我有一个必需的 url 输入,当它为空时 return 错误 "This field is required."。
我想要的是当这个输入的值为'home'时,将错误更改为"There is already a homepage"。但仅当在输入字段中键入 'home' 时。
这是我的 jQuery 代码:
$("#edit_pages_form").validate({
errorClass: "has-error",
validClass: "has-success",
highlight: function(element, errorClass, validClass) {
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
您可能会注意到我突出显示了输入字段,当输入字段为空时我添加了 has-error class,当不为空时我添加了 has-success class。
我想要的是当输入 'home' 作为值时,要添加的 class 有错误。
提前致谢
只需添加一个 if 语句来检查值是否为 home?
$("#edit_pages_form").validate({
errorClass: "has-error",
validClass: "has-success",
has-error: "has-error",
highlight: function(element, errorClass, validClass) {
if($('#url-texbox-id').val() == "home"){
$(element).closest("div")
.addClass(has-error);
.removeClass(validClass);
}
else{
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
}
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
您可以创建自定义验证方法:
<form class="cmxform" id="edit_pages_form" method="get" action="">
<fieldset>
<p>
<label for="cname">Name</label>
<input id="name" name="name" type="text" required>
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
$(document).ready(function() {
jQuery.validator.addMethod("isHome", function(value, element) {
if (value.length == 4) {
return (value != "home");
}
return true;
}, "There is already a homepage");
$("#edit_pages_form").validate({
rules: {
name: {
isHome: true
}
},
errorClass: "has-error",
validClass: "has-success",
highlight: function(element, errorClass, validClass) {
$(element).closest("div")
.addClass(errorClass)
.removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div")
.removeClass(errorClass)
.addClass(validClass);
}
});
});