2013-02-22 57 views
0

所以,我想改变一个输入元素的样式,当我得到该元素的form_error。更改form_error上的输入元素类?

在我的控制,我把所有的form_validation规则,每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> 

所以,我需要easiset的方式来更改corrisponding元素上的类,它会得到一个表单错误。这是否是一种简单的方法?

请让我知道如果我解释不好:) 谢谢。

回答

2

你可以做这样的事情......

<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> 

输出,如果在用户名

<li class="yes_error"> 
    <label for="username" class="bold">Username</label> 
    <span class="input-prepend">$</span> 
    .... 
</li> 

和风格是错误...

.yes_error { 
    color: #FF0000; 
    background: ... 
    ..... 
} 
+0

谢谢,那完美的工作! :) – Zacharias 2013-02-22 11:06:04

+0

@Zacharias,很高兴它可以帮助你。 – 2013-02-22 11:09:12

+0

只是一个简单的问题;这是最简单的方法吗?假设我有10个输入元素。我必须写10条if-clause吗? 或者也许创建一个函数? – Zacharias 2013-02-22 14:04:22