设置位于语言文件中的错误消息

发布于 2024-12-06 19:44:52 字数 1178 浏览 1 评论 0原文

在表单中,我有一个回调函数来检查数字是否可用。 如果返回 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;
    }
}

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
    $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;
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筑梦 2024-12-13 19:44:52

您需要从语言文件中获取该行。这些文档没有提及能够通过 set_message() 方法使用字段名称翻译。使用:

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

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');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文