2013-02-22 68 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