使用CodeIgniter验证单个表单字段

时间:2010-03-19 19:02:00

标签: php codeigniter validation

是否有一种快速方法可以使用CodeIgniter验证单个表单字段,以查看该字段是否与一组规则匹配?有$ this-> form_validation-> run();,但是对于整个表单,它将返回TRUE或FALSE,这不是我正在寻找的。例如,如果我只想检查电子邮件是否有效,那么检查整个表单不会得到我正在寻找的结果。

我查看了文档,但找不到像$ this-> form_validation-> run();接受一个参数,如果有效,则返回TRUE或FALSE。

2 个答案:

答案 0 :(得分:1)

form_validation类支持群组,因此您可以将群组定义为电子邮件并按照此$this->form_validation->run('email');

运行

答案 1 :(得分:0)

我遇到了这个问题,我用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");