【发布时间】:2021-04-12 16:14:00
【问题描述】:
我有一个简单的表格,Name 和 Email。我收到正确的验证错误,但没有在输入字段中获得图标。我得到了右上角的十字图标。你能帮我解决这个问题吗?
我需要这样的输出
$('#myform').validate({
rules: {
name: {
minlength: 3,
maxlength: 15,
required: true
},
email: {
required: true,
email: true
},
},
highlight: function(element) {
var id_attr = "#" + $( element ).attr("id") + "1";
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
$(id_attr).removeClass('glyphicon-ok').addClass('glyphicon-remove');
},
unhighlight: function(element) {
var id_attr = "#" + $( element ).attr("id") + "1";
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
$(id_attr).removeClass('glyphicon-remove').addClass('glyphicon-ok');
},
errorElement: 'span',
errorClass: 'help-block',
errorPlacement: function(error, element) {
if(element.length) {
error.insertAfter(element);
} else {
error.insertAfter(element);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" type="text/javascript"></script>
<form class="form-horizontal" id="myform">
<input type="text" name="name" placeholder="name" id="name">
<span class="glyphicon form-control-feedback" id="name1"></span>
<input type="email" name="email" id="email" placeholder="email"><span id="status"></span>
<span class="glyphicon form-control-feedback" id="email1"></span>
</form>
【问题讨论】:
-
非常简单的解决方案是为输入设置错误的背景图标并根据错误状态控制其可见性
-
我在您的 HTML 中没有看到任何
.form-group,我想知道您为什么要执行类似var id_attr = "#" + $( element ).attr("id") + "1";的操作。如果您将输入包装在input-group中,那么您可以选择带有$(parent).find('.form-control-feedback")的孩子
标签: javascript jquery html css twitter-bootstrap