Jquery 单个元素的验证插件错误放置
Jquery validation plugin errorplacement for single element
我正在使用 Jquery 验证插件来验证 form.when 验证一个元素对齐的表单是不正确的。
如果您看到图像,则城市字段 icon + 按钮在验证表单时对齐不正确。因为标签错误验证显示在输入元素和 icon + 之间。我需要在元素下方显示错误消息。
我的 html 城市字段的代码是这样的
<tr>
<td align="right"><span class="mandetry">*</span> City:</td>
<td>
<div class="input-group" id="app_details">
<input type="text" class="form-control client_city" name="client_city" id="city_name" value="<?php echo set_value('client_city')?>">
<span class="input-group-btn">
<a class="btn btn-default" id='addnewcity' href="<?php echo base_url('addnewcity')?>"><i class="fa fa-plus-square"></i></a>
</span>
<div id="messageBox"></div> <!-- Here i would like to display message-->
</div> </tr>
js代码是这样的
$(document).ready(function(){
$('#add_client').validate({
errorClass: 'validation_errors',
debug: false,
rules: {
client_name:{required:true},
client_address:{required:true},
client_city:{required:true},
errorPlacement: function(error, element) {
if (element.attr("name") == "client_city" )
{
error.appendTo("#messageBox");
}
}
},
messages: {
client_name:{required:"The Client name is a required / mandatory field"},
client_address:{required:"The Client address is a required / mandatory field"},
client_city:{required:"The City is a required / mandatory field"},
}
});
});
错误信息没有附加到messageBox div。是不是js中的errorPlacement有什么问题。只有 city 元素我需要正确显示错误消息。对于其他表单字段,它不应该 change.i 我无法解决这个问题。请建议我。谢谢。
你遗漏了 else 部分,如果它不是 client_city
元素那么你需要在
之后插入错误
$(document).ready(function () {
$('#add_client').validate({
errorClass: 'validation_errors',
debug: false,
rules: {
client_name: {
required: true
},
client_address: {
required: true
},
client_city: {
required: true
}
},
errorPlacement: function (error, element) {
console.log('dd', element.attr("name"))
if (element.attr("name") == "client_city") {
error.appendTo("#messageBox");
} else {
error.insertAfter(element)
}
},
messages: {
client_name: {
required: "The Client name is a required / mandatory field"
},
client_address: {
required: "The Client address is a required / mandatory field"
},
client_city: {
required: "The City is a required / mandatory field"
},
}
});
});
演示:Fiddle
我正在使用 Jquery 验证插件来验证 form.when 验证一个元素对齐的表单是不正确的。
如果您看到图像,则城市字段 icon + 按钮在验证表单时对齐不正确。因为标签错误验证显示在输入元素和 icon + 之间。我需要在元素下方显示错误消息。
我的 html 城市字段的代码是这样的
<tr>
<td align="right"><span class="mandetry">*</span> City:</td>
<td>
<div class="input-group" id="app_details">
<input type="text" class="form-control client_city" name="client_city" id="city_name" value="<?php echo set_value('client_city')?>">
<span class="input-group-btn">
<a class="btn btn-default" id='addnewcity' href="<?php echo base_url('addnewcity')?>"><i class="fa fa-plus-square"></i></a>
</span>
<div id="messageBox"></div> <!-- Here i would like to display message-->
</div> </tr>
js代码是这样的
$(document).ready(function(){
$('#add_client').validate({
errorClass: 'validation_errors',
debug: false,
rules: {
client_name:{required:true},
client_address:{required:true},
client_city:{required:true},
errorPlacement: function(error, element) {
if (element.attr("name") == "client_city" )
{
error.appendTo("#messageBox");
}
}
},
messages: {
client_name:{required:"The Client name is a required / mandatory field"},
client_address:{required:"The Client address is a required / mandatory field"},
client_city:{required:"The City is a required / mandatory field"},
}
});
});
错误信息没有附加到messageBox div。是不是js中的errorPlacement有什么问题。只有 city 元素我需要正确显示错误消息。对于其他表单字段,它不应该 change.i 我无法解决这个问题。请建议我。谢谢。
你遗漏了 else 部分,如果它不是 client_city
元素那么你需要在
$(document).ready(function () {
$('#add_client').validate({
errorClass: 'validation_errors',
debug: false,
rules: {
client_name: {
required: true
},
client_address: {
required: true
},
client_city: {
required: true
}
},
errorPlacement: function (error, element) {
console.log('dd', element.attr("name"))
if (element.attr("name") == "client_city") {
error.appendTo("#messageBox");
} else {
error.insertAfter(element)
}
},
messages: {
client_name: {
required: "The Client name is a required / mandatory field"
},
client_address: {
required: "The Client address is a required / mandatory field"
},
client_city: {
required: "The City is a required / mandatory field"
},
}
});
});
演示:Fiddle