Я использую codeigniter 2.1.4
В этом я использую библиотеку form_validation
для проверки формы.
Когда я пытаюсь запустить эту функцию, я получаю следующую ошибку
Не удалось загрузить запрошенный языковой файл: язык / en / form_validation_lang.php
Я просмотрел все файлы. Я не использую или не нахожу этот языковой файл в любом файле, и я получаю эту ошибку.
function insert(){ $this->load->library('form_validation'); $this->form_validation->set_rules('username_field', 'username', 'required'); $this->form_validation->set_rules('firstname_field', 'firstname', 'required'); $this->form_validation->set_rules('lastname_field', 'lastname', 'required'); $this->form_validation->set_rules('email_field', 'email', 'required|valid_email|callback_isEmailExist'); if ($this->form_validation->run() == FALSE) { $this->create(); } } function isEmailExist($email) { $this->load->library('form_validation'); $is_exist = $this->users->isEmailExist($email); if ($is_exist) { $this->form_validation->set_message( 'isEmailExist', 'Email address is already exist.' ); return false; } else { return true; } }
Какое решение для этого?
Библиотека CI form_validation
использует файл языка для сообщения об ошибке отображения. Вы используете required
valid_email
это сообщение об ошибке записывается внутри form_validation_lang.php
.
Библиотека form_validation
загружает сам файл языка ( form_validation_lang.php
) независимо от того, загружаете вы или нет. Вы можете открыть файл библиотеки и посмотреть на функцию запуска, вы увидите строку $this->CI->lang->load('form_validation');
Этот файл находится либо внутри вашей system/language/your_language/
или application/language/your_language/
.
В этом сообщении об ошибке указано, что вы пропустили файл в любой папке. Если вы загружаете исходные файлы CI, это должно быть внутри system/language/english/
folder.If вы не видите, что файл загружает CI и восстанавливает там файл.
есть два местоположения с языковыми файлами 1. в папке system/language
2. в папке application/language
Для определения формы CI использует папку system/language
в вашем config.php (в application/config
) вы указываете языковую папку, которую хотите использовать.
Итак, откройте свой файл конфигурации и найдите
$config['language'] = 'en';
загляните в свою папку system/language
и посмотрите, есть ли папка с именем «en» и если в ней есть файл form_validation_lang.php
.
Если нет, я думаю, что есть папка с именем english
. то решениями было бы изменить 'en'
в вашей конфигурации на english
.
Перейдите в application/config/config.php
вы должны иметь $config['language'] = 'en';
, Измените его на $config['language'] = 'english';
,