是否可以在不接触系统文件的情况下翻译CodeIgniter的表单验证错误消息?
如果您谈论的是实际翻译成另一种语言,可以通过将配置值$config['language']
设置为所需的语言来完成。如果您不想更改实际的config.php文件,可以通过使用config对象的set_item()
函数来完成,如下所示:
$this->config->set_item('language', 'spanish');
参见:配置类的CodeIgniter文档
这假设您的language
目录中有一个西班牙语目录,其中至少包含form_validation_lang.php
文件。
但是,如果您只是想为Form_validation对象创建自定义消息,则可以从system'language
目录复制form_validation_lang.php
文件并将其移动到application'language
目录。您现在可以编辑新的语言文件,使其反映您想要的任何不同消息。您还可以通过从application/language
目录中删除该文件,轻松地恢复到默认消息。
如果您甚至不想触摸language
文件,另一种方法是手动覆盖消息。您可以通过Form_validation
库对象这样做:
$this->form_validation->set_message('required', 'This is a required item!');`
请参阅:表单验证类的CodeIgniter文档
如果需要为某个特定规则的特定字段设置自定义错误消息,请使用set_rules()方法:
$this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3',
array('rule2' => 'Error Message on rule2 for this field_name')
);
这将独立解决您的所有字段问题。:)