Не удалось загрузить запрошенный языковой файл: язык/en/form_validation_lang.php
Я использую 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;
}
}
Какое решение для этого?
Ответы
Ответ 1
Библиотека 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/
. Если вы не видите файл download CI и восстановить там файл.
Ответ 2
есть два местоположения с языковыми файлами
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
.
Ответ 3
Перейдите к application/config/config.php
, вы должны иметь $config['language'] = 'en';
.
Измените его на $config['language'] = 'english';
.