1

例如,我的语言 form_validation 文件中有这一行:

$lang['min_length'] = "%s must be at least %s characters in length.";

我希望输出是这样的:

$lang['min_length'] = "This field must be at least %s characters in length.";

但是,问题是它在回显时看起来像这样:

此字段的长度必须至少为您的姓名字符。

这是错误的,因为它采用第一个 %s 而不是第二个 %s。

如何强制 CI 获取第二个 %s?是否可以?

4

1 回答 1

0

由于min_length是表单验证库中的标准函数并通过该库处理,因此您只能通过更改核心库来实现。

但是有一种更简单的方法 - 使用表单验证库的回调函数:

$this->form_validation->set_rules('your_field', 'The Field label', 'callback_my_min_length[10]');

然后在您的控制器中,添加以下内容:

public function username_check($str, $min_length)
{
    if ( mb_strlen($str) >= $min_length)
    {
        return TRUE;
    }
    else
    {
        $this->form_validation->set_message('my_min_length', 'This field must be at least '.$min_length.' characters in length.');
        return FALSE;
    }
}

我就是这样做的。

于 2012-09-13T20:13:20.703 回答