例如,我的语言表单验证文件中有这一行:
$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?有可能吗?
由于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;
}
}
我就是这么做的。