2016-03-29 3 views
0

Существует группа полей ввода, например:форма проверки с большим набором ввода

<input type="text" class="form-control my-input" name="q1" size="63" value="<?= set_value("q1"); ?>"> 
<input type="text" class="form-control my-input" name="q2" size="63" value="<?= set_value("q2"); ?>"> 
.... 
<input type="text" class="form-control my-input" name="q100" size="63" value="<?= set_value("q30"); ?>"> 

Есть 30 полей для ввода, от q1 до Q30

Если я хотел бы проверить им, мне нужно установить

$this->form_validation->set_rules('q1', lang("q1"), 'required'); 

30 раз, и сообщение об ошибке проверки покажет 30 раз, если ничего важного.

Поэтому я хотел бы:

  1. Предположим q15 не требуется, проходной пост массива и проверить другие поля ввода, являются ли входом или пуст.

  2. показать только одно сообщение об ошибке, если какой-либо один из требуемого ввода не вводится

Как добиться этого в CodeIgniter?

+1

Используйте любую петлю и перебирать 30 – itzmukeshy7

+0

спасибо много. как обрабатывать случай, когда имя не соответствует шаблону, и как показывать только одно сообщение об ошибке, если какое-либо из полей ввода не проверено? – user782104

ответ

2

Вот пример кода

for($i = 1; $i <= 30; $i++){ 
    $this->form_validation->set_rules('q' + $i, lang('q' + $i), 'required'); 
} 

UPDATE Когда имена не следует шаблону:

$names = [1=>'q1', 'a1', 'd3', ...]; 

for($i = 1; $i <= 30; $i++){ 
    $this->form_validation->set_rules($names[$i], lang($names[$i]), 'required'); 
} 
+0

Большое спасибо, как я могу показать только одно сообщение об ошибке, если ни одно из требуемого поля ввода не будет введено? – user782104

+1

создать массив имен и использовать этот массив для установки имен; см. обновление; – itzmukeshy7

+0

необходимая ошибка будет отображаться несколько раз, есть ли какой-либо совет, чтобы показать только одно сообщение об ошибке. например. "Пожалуйста, заполните все поля" . Спасибо за ваш ответ – user782104

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