当验证规则放在单独的配置文件中时,我无法让CodeIgniter 3的可调用表单验证功能工作。
我收到以下错误消息:
遇到 PHP 错误
严重性:通知
消息:未定义属性:CI_Config::$form_validation_callback_library
带有表单验证规则的配置文件如下(config/fvalidation.php):
$config['client_details'] = array(
array(
'field' => 'client_abn',
'label' => 'Client ABN',
'rules' => array('trim', 'required', array('abn_callable', array($this->form_validation_callback_library, 'abn_check'))),
'errors' => array('abn_callable' => 'Invalid ABN has been entered %s.')
)
);
尝试调用的表单验证类是(即 $this->form_validation_callback_library):
class Form_validation_callback_library
{
public function abn_check()
{
$this->load->library('abn_validator');
$abn = $this->input->post_get('abn', TRUE);
if (!$this->abn_validator->isValidAbn($abn)) {
return FALSE;
}
return TRUE;
}
}
控制器是:
$this->config->load('fvalidation');
$validation_rules = $this->config->item('client_details');
$this->form_validation->set_rules($validation_rules);
if ($this->form_validation->run() == FALSE) {
// show form
} else {
// process form data
}
任何帮助将不胜感激。
干杯,维迪