4

我基本上是将内容加载到引导模式中,编辑信息并使用 jquery 验证器对其进行验证,然后使用 ajax 请求提交它。到目前为止,一切都运行良好,直到我单击另一个仍然出现验证类的项目。我的问题是,有没有办法在关闭引导模式后删除验证器类?请帮忙

4

4 回答 4

5

有一种resetForm方法可以用来设置验证器的状态。

// on load of your dialog:
var validator = $('#myForm').validate();
validator.resetForm();
于 2013-10-23T12:42:00.217 回答
4

如果您使用的是 bootstrapvalidator,下面的代码将有助于摆脱错误元素

$("#editModal").on('hidden.bs.modal', function () {

        //Removing the error elements from the from-group
        $('.form-group').removeClass('has-error has-feedback');
        $('.form-group').find('small.help-block').hide();
        $('.form-group').find('i.form-control-feedback').hide();

    });
于 2014-08-11T14:45:59.370 回答
3

对于那些使用 Bootstrap 3(resetForm() 不在那里工作)的人:

$('.form-group').each(function () { $(this).removeClass('has-success'); });
$('.form-group').each(function () { $(this).removeClass('has-error'); });
$('.form-group').each(function () { $(this).removeClass('has-feedback'); });
$('.help-block').each(function () { $(this).remove(); });
$('.form-control-feedback').each(function () { $(this).remove(); });

如果你像下面这样设置它:

highlight: function (element) {
    $(element).closest('.form-group').removeClass('has-success');
    $(element).closest('.form-group').addClass('has-error has-feedback');
    $(element).closest('.form-group').find('span.form-control-feedback').remove();
    //$(element).closest('.input-group').append('<i class="fa fa-exclamation fa-lg form-control-feedback"></i>');
    $(element).closest('.form-group').append('<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>');
},

unhighlight: function (element) {
    $(element).closest('.form-group').removeClass('has-error');
    $(element).closest('.form-group').addClass('has-success has-feedback');
    $(element).closest('.form-group').find('span.form-control-feedback').remove();
    //$(element).closest('.input-group').append('<i class="fa fa-check fa-lg form-control-feedback"></i>');
    $(element).closest('.form-group').append('<span class="glyphicon glyphicon-ok    form-control-feedback" aria-hidden="true"></span>');
},

errorElement: 'span',
errorClass: 'help-block',

errorPlacement: function (error, element) {
    if (element.parent('.input-group').length) {
        error.insertAfter(element.parent());
    } else {
        error.insertAfter(element);
    }
}
于 2015-07-28T13:19:11.793 回答
0

您可以使用隐藏(或隐藏)功能:

$('#myModal').on('hidden', function () {
// do something… removeClass etc.
})
于 2013-10-23T12:43:29.207 回答