E.g。我在我的语言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?有可能吗?
答案 0 :(得分: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;
}
}
我就是这样做的。