Php 更改表单上的输入元素类\u错误?

Php 更改表单上的输入元素类\u错误?,php,codeigniter,validation,Php,Codeigniter,Validation,因此,我想在输入元素上出现form_错误时更改该元素的样式 在我的控制器中,我拥有所有的form_验证规则和每个inputelement属性 if ($this->form_validation->run() == FALSE) { $data['username'] = array( 'name' => 'username', 'id' => 'username'

因此,我想在输入元素上出现form_错误时更改该元素的样式

在我的控制器中,我拥有所有的form_验证规则和每个inputelement属性

        if ($this->form_validation->run() == FALSE)
    {
        $data['username'] = array(
            'name' => 'username',
            'id' => 'username'
            );

        $data['password'] = array(
            'type' => 'password',
            'name' => 'password',
            'id' => 'password'
            );
    }
在我看来,我正在把它们打印出来

            <li>
                <label for="username" class="bold">Username</label>
                <span class="input-prepend">$</span>
                <?php echo form_input($username); ?>
            </li>
  • 用户名 $
  • 因此,我需要一种最简单的方法来更改得到表单错误的corresponding元素上的类。这有什么简单的方法吗

    请让我知道我是否在解释错误:)
    谢谢。

    您可以这样做

    <?php echo form_input($username, '', 'HERE your Css styles like style="" and javascript'); ?>
    
    <li<?php echo (form_error('username') == '') ? '' : ' class="yes_error"'; ?>>
        <label for="username" class="bold">Username</label>
        <span class="input-prepend">$</span>
        <?php echo form_input($username); ?>
    </li>
    

    @撒迦利亚,很高兴它能帮助你。只是一个简单的问题;这是最简单的方法吗?假设我有10个输入元素。那么我必须写10个if子句吗?或者可能创建一个函数?是的,您可以创建一个helper函数
    check_error($error_data){if(empty($error_data){return;}else{return class=“Yes_error”;}}
    在表单视图中您可以这样做
    
    
    <li class="yes_error">
        <label for="username" class="bold">Username</label>
        <span class="input-prepend">$</span>
        ....
    </li>
    
    .yes_error {
        color: #FF0000;
        background: ...
        .....
    }