是否可以在标签中应用多个字符串插值以进行CodeIgniter中的表单验证自定义回调方法?

时间:2009-08-12 07:36:18

标签: php codeigniter validation

这是我当前代码的近似形式;使用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;
    }
}

表单提交后发生错误。显示的错误如下:“某些代码名称已存在。请输入另一个。”

有没有办法在错误消息中评估多个%实例?

2 个答案:

答案 0 :(得分:0)

你只在some_code字段上运行_unique_codename吗?如果是这样的话,%s的多个实例是什么意思?

你想在循环中运行它并收集所有要同时显示的错误吗?

答案 1 :(得分:0)

我建议从SVN下载1.7.2。它修复了有关form_validation类的几个错误。