Установка сообщения об ошибке в языковом файле - PullRequest
2 голосов
/ 27 сентября 2011

В форме у меня есть функция обратного вызова, которая проверяет, является ли число is_available. Если он возвращает TRUE, он показывает сообщение об ошибке.

Обратный вызов работает, но он отображает: lang: shortcodes.not_unique вместо содержимого, указанного в отдельном файле.

Я не могу понять, что не так, и не нашел об этом в руководстве пользователя.

Спасибо за вашу помощь.

public function __construct()
{
    parent::__construct();

    // Load all the required classes
    $this->load->model('shortcodes_m');
    $this->load->library('form_validation');
    $this->lang->load('shortcodes');

    // Set the validation rules
    $this->item_validation_rules = array(
        array(
            'field' => 'number',
            'label' => 'lang:shortcodes.number',
            'rules' => 'trim|max_length[100]|required|numeric'
        ),
        array(
            'field' => 'name',
            'label' => 'lang:shortcodes.name',
            'rules' => 'trim|max_length[100]|required|callback_shortcodes_check'
        )
    );

}
public function shortcodes_check($str)
{
    if($this->shortcodes_m->is_available($str) == TRUE)
    {
        $this->form_validation->set_message('shortcodes_check','lang:shortcodes.not_unique');
        return FALSE;
    }
    else
    {
        return TRUE;
    }
}

1 Ответ

2 голосов
/ 27 сентября 2011

Вам нужно извлечь строку из языкового файла. В документах не упоминается возможность использования перевода имен полей с помощью метода set_message(). Использование:

$this->lang->line('not_unique');
...