开发者

Setting an Error Message located in language file

In a form I have a callback function that checks if a number is_available. If it returns TRUE it shows an error message.

The callback is working but it displays : lang:shortcodes.not_unique instead of the content given in a separate file.

I can't figure out what is wrong and didn't find about that in the user guide.

Thank you for your help.

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
    $t开发者_运维问答his->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;
    }
}


You need to fetch the line from the language file. The docs don't make any mention of being able to use field name translation with the set_message() method. Use:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜