Проверка единого поля формы с помощью CodeIgniter

Есть ли быстрый способ проверить одно поле формы с помощью CodeIgniter, чтобы узнать, соответствует ли это поле набору правил? Есть $ this-> form_validation-> run ();, но он вернет либо ИСТИНА, либо ЛОЖЬ для всей формы, и это просто не то, что я ищу. Например, если бы я хотел только проверить, действителен ли адрес электронной почты, проверка всей формы не принесет мне того результата, который я ищу.

Я просмотрел документацию, но не нашел ничего похожего на $ this-> form_validation-> run (); который принимает один параметр и возвращает ИСТИНА или ЛОЖЬ, если он действителен.


person Raphael Caixeta    schedule 19.03.2010    source источник


Ответы (2)


Класс form_validation поддерживает группы, поэтому вы можете определить группу как электронную почту и запустить ее следующим образом $this->form_validation->run('email');

person Dyllon    schedule 19.03.2010

Я застрял в этой проблеме, я решил ее с помощью form_error('field_name'), вот объяснение:

1- Сначала вам нужно загрузить помощник формы:

$this->load->helper('form');

2- вы должны запустить проверку формы:

$this->form_validation->run();

3- $this->form_validation->run(); установит сообщения об ошибках, если они существуют, для вспомогательной функции form_error('field_name');, и здесь вы можете проверить, false будет ли она возвращать значение.

Пример:

    $this->load->library('form_validation');
    $this->load->helper('form');

    $this->form_validation->set_rules('field_one', 'First Field', 'numeric|required');
    $this->form_validation->set_rules('field_two', 'Second Field', 'required|min_length[5]|max_length[255]');

    $this->form_validation->run();
    $check['field_one'] = (form_error('field_one') ? form_error('field_one') : "Field one validated.. Success case");
    $check['field_two'] = (form_error('field_two') ? form_error('field_two') : "Field two validated.. Success case");
person Mohannad Najjar    schedule 20.06.2015