【发布时间】:2015-06-01 23:56:22
【问题描述】:
当validation rules are placed in a separate config file 时,我无法让 CodeIgniter 3 的callable form validation feature 工作。
我收到以下错误消息:
遇到 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
}
任何帮助将不胜感激。
干杯, VeeDee
【问题讨论】:
-
我认为 CodeIgniter3 不支持此功能,因此在下面创建了一个解决方法:stackoverflow.com/questions/30585229/… 任何有关改进或实现此目的的更好方法的建议将不胜感激
标签: php forms codeigniter validation codeigniter-3