Нужно ли в любом случае переводить сообщения об ошибках проверки формы CodeIgniter, не касаясь системных файлов?
Если вы говорите о переводе на другой язык, это можно сделать, установив значение $config['language']
на нужный вам язык. Если вы не хотите изменять фактический файл config.php, вы можете сделать это с помощью функции set_item()
объекта Config, например:
$this->config->set_item('language', 'spanish');
См .: CodeIgniter Doc для класса конфигурации
Это предполагает, что у вас есть испанский каталог в вашем language
каталоге, по крайней мере, с файлом form_validation_lang.php
.
Однако, если вы просто хотите создать пользовательские сообщения для объекта Form_validation, вы можете скопировать файл form_validation_lang.php
из каталога system\language
и перенести его в каталог application\language
. Теперь вы можете редактировать новый языковой файл, чтобы он отражал любые другие сообщения, которые вы хотите. Вы также можете легко вернуться к сообщениям по умолчанию, удалив файл из каталога application/language
.
Другой способ сделать это, если вы не хотите касаться даже language
файлов, – это вручную переопределять сообщения. Вы можете сделать это через Form_validation
библиотеки Form_validation
следующим образом:
$this->form_validation->set_message('required', 'This is a required item!');`
См .: CodeIgniter Doc для класса проверки формы
Если вам нужно установить собственное сообщение об ошибке для определенного поля в определенном правиле, используйте метод set_rules ():
$this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3', array('rule2' => 'Error Message on rule2 for this field_name') );
Это решит вашу проблему с любыми полями независимо. 🙂