使用codeigniter form_validation向字段添加错误消息

时间:2016-02-02 20:57:59

标签: php codeigniter validation

使用Codeigniter,您可以使用form_validation库验证表单。但是我不会一直使用它,但我喜欢使用form_error('fieldname')函数。

是否可以在不执行form_validation->run()的情况下手动将错误消息推送到字段。

2 个答案:

答案 0 :(得分:2)

不,该功能仅适用于Form_validation库。

答案 1 :(得分:2)

我找到了一种Codeigniter方式来添加我想要的功能。通过扩展system/libraries/Form_validation.php

首先创建文件:application/libraries/MY_Form_validation.php

然后扩展CI_Form_validation类:

<?php
/**
 * Created by PhpStorm.
 * User: william
 * Date: 02/02/2016
 * Time: 22:56
 */

class MY_Form_validation extends CI_Form_validation{

    /**
     * set error message
     *
     * sets the error message associated with a particular field
     *
     * @param   string  $field  Field name
     * @param   string  $error      Error message
     */
    public function setError($field, $error){
        $this->_field_data[$field]['error'] = $error;
    }

}

现在您可以使用form_validation->setError('fieldname','error')来设置错误消息:

class Test extends CI_Controller{

    function index(){

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

        if (/* your validation outside of the form_validation */) {
            $this->form_validation->setError('username', 'Invalid login credentials');      
        }

        $this->load->view('test');
    }

}

注意!如果要在不使用回调

的情况下进行自定义验证,请使用此选项