2009-11-05 4 views
0

Я использую библиотеку проверки формы и иметь что-то подобное в представленииCodeIgniter форма проверки и класс

<p> 
     <label for="NAME">Name <span class="required">*</span></label> 
     <?php echo form_error('NAME'); ?> 
     <br /><input id="NAME" type="text" name="NAME" class="" value="<?php echo set_value('NAME'); ?>" /> 
</p> 

Я хотел бы добавить класс к входу, который зависит от ошибки вида так что я мог бы что-то вроде этого

<input id="NAME" type="text" name="NAME" class="<?php echo $error;?>" value="<?php echo set_value('NAME'); ?>" 

я понимаю, что она должна была бы быть немного более сложным, но я хотел бы, чтобы это это без создания пользовательских правил обратного вызова для каждого поля.

Благодаря ~ Daniel

ответ

0

Если вы установили все ваши поля проверки в контроллере с помощью:

$this->validation->set_fields() 

Вы будете иметь доступ к любым возможным сообщениям об ошибках, которые вы могли бы использовать следующий образ:

<input id="NAME" name="NAME" value="<?php echo $this->validation->NAME; ?>" <?php echo (!empty($this->validation->NAME_error)) ? 'class="error"' : ''; ?> /> 

http://codeigniter.com/user_guide/libraries/validation.html

Как указано в комментариях, приведенный выше код ссылается на старую библиотеку проверки. Новый способ 1,7 для выполнения этой задачи будет:

<input id="NAME" name="NAME" value="<?php echo set_value('NAME'); ?>" <?php echo (!empty(form_error('NAME')) ? 'class="error"' : ''; ?> /> 
+0

Это действительно не так, чтобы преподавать старый класс проверки. Вы должны использовать новый класс проверки формы здесь: http://codeigniter.com/user_guide/libraries/form_validation.html –

+0

Я также добавил решение для 1.7. –

0

Я просто понял, что есть способ сделать это с ошибкой разделителей

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

Я это делает его намного проще.

Но только из любопытства, Есть ли способ сделать это с классом на входе?

+0

Что вы имеете в виду класс на входе? –

+0

В идеале ... Я хотел бы иметь возможность вставлять другую переменную. Прямо сейчас вы можете установить сообщение, отображаемое в обратном вызове. Я хотел бы установить класс ошибки для назначения css. Это позволило бы мне изменить его по-разному в зависимости от ошибки. – Daniel

Смежные вопросы