Не удалось загрузить запрошенный языковой файл: язык/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';.