这是我当前代码的近似形式;使用CodeIgniter 1.7修剪问题的基本要点:
在system/application/config/form_validation.php
中,我的规则如下:
'some_controller/save' => array(
array(
'field' => 'some_code',
'label' => 'Some Code Name',
'rules' => 'trim|required|min_length[1]|max_length[6]|callback__unique_codename'
),
),
在system/application/controllers/some_controller.php
中,我有上述验证规则所需的自定义回调函数:
function _unique_codename($codename)
{
$result = $this->some_code_model->find_by_codename($codename); // this returns NULL if the codename is not found
if ($result)
{
$this->form_validation->set_message('_unique_codename', '%s already exists. Please enter another %s.');
return FALSE;
}
else
{
return TRUE;
}
}
表单提交后发生错误。显示的错误如下:“某些代码名称已存在。请输入另一个。”
有没有办法在错误消息中评估多个%
实例?
答案 0 :(得分:0)
你只在some_code字段上运行_unique_codename吗?如果是这样的话,%s的多个实例是什么意思?
你想在循环中运行它并收集所有要同时显示的错误吗?
答案 1 :(得分:0)
我建议从SVN下载1.7.2。它修复了有关form_validation类的几个错误。