Codeigniter 3:添加类" has-error"到包含无效字段的表单组

时间:2017-07-22 12:26:50

标签: twitter-bootstrap codeigniter class

我有一个带有文本字段的表单(在视图文件中):

<div class="form-group">
    <?php echo form_input('email', '', [
        'type'  => 'text',
        'id'    => 'email', 
        'class' => 'form-control',
        'value' => '',
        'placeholder' => 'Email address',
        ]); 
    ?>
    <?php echo form_error('email'); ?> 
</div>

在控制器中,我启用了错误消息:

$this->form_validation->set_error_delimiters('<p class="error">', '</p>');

我想添加课程&#34; has-error&#34;显示错误时显示<div class="form-group">。我该怎么做?

2 个答案:

答案 0 :(得分:1)

<div class="form-group <?php if(form_error('email')) echo 'has-error';?>">

或者如果您想通过jquery实现验证,可以添加此行

highlight: function(element) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight: function(element) {
            $(element).closest('.form-group').removeClass('has-error');
        },
        errorElement: 'div',
        errorClass: 'text-danger',
        errorPlacement: function(error, element) {
            if(element.parent('.input-group').length) {
                error.insertAfter(element.parent());
            } else if(element.parent('.blocks').length){
                error.insertAfter(element.parent());
            }else{
                error.insertAfter(element);
            }
        },

答案 1 :(得分:0)

我通过以下几行获得了预期的效果:

$('.form-group').each(function(){
        var error_msg = $(this).find(".error");
        if (error_msg.length > 0) {
            $(this).addClass('has-error');
        }
});