Bootstrap 3 Validation

别来无恙 提交于 2019-12-23 03:35:16

问题


I think I almost have Bootstrap validation working but it seems buggy or i'm missing something. When using an input-group how do I make the icon show up in the text field. The other problem is when it errors out and the user fixes it the x icon is still there instead of a checkbox.

JSFiddle

$('form').validate({
    rules: {
        field1: {
            minlength: 3,
            maxlength: 15,
            required: true
        },
        field2: {
            minlength: 3,
            maxlength: 15,
            required: true
        }
    },
    highlight: function(element) {
        $(element).closest('.form-group').removeClass('has-success').addClass('has-error')
        $(element).next('span').removeClass('glyphicon-ok').addClass('glyphicon-remove');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error').addClass('has-success')
        $(element).next('span').removeClass('glyphicon-remove').addClass('glyphicon-ok');
    },
    //errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

回答1:


The problem is, the next sibling can be the error message label not the feedback

$('form').validate({
    rules: {
        field1: {
            minlength: 3,
            maxlength: 15,
            required: true
        },
        field2: {
            minlength: 3,
            maxlength: 15,
            required: true
        }
    },
    highlight: function (element) {
        $(element).closest('.form-group').removeClass('has-success').addClass('has-error')
        $(element).parent().find('.form-control-feedback').removeClass('glyphicon-ok').addClass('glyphicon-remove');
    },
    unhighlight: function (element) {
        $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
        $(element).parent().find('.form-control-feedback').removeClass('glyphicon-remove').addClass('glyphicon-ok');
    },
    //errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function (error, element) {
        if (element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

Demo: Fiddle



来源:https://stackoverflow.com/questions/22547727/bootstrap-3-validation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!