使用Codeigniter,您可以使用form_validation库验证表单。但是我不会一直使用它,但我喜欢使用form_error('fieldname')
函数。
是否可以在不执行form_validation->run()
的情况下手动将错误消息推送到字段。
答案 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');
}
}
注意!如果要在不使用回调
的情况下进行自定义验证,请使用此选项