【问题标题】:CodeIgniter $this->form_validation->set_messageCodeIgniter $this->form_validation->set_message
【发布时间】:2013-09-27 03:23:02
【问题描述】:

我已经进行了电子邮件验证。

$this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email|callback_email_check');

function email_check($str)
{
    if (stristr($str,'@uni-email-1.com') !== false) return true;
    if (stristr($str,'@uni-email-2.com') !== false) return true;
    if (stristr($str,'@uni-email-3.com') !== false) return true;
    $this->form_validation->set_message('email', 'Please provide an acceptable email address.');
    return FALSE;
}

提交我的表单后,它显示“无法访问与您的字段名称对应的错误消息。”我的代码有问题吗?

【问题讨论】:

    标签: php forms codeigniter validation


    【解决方案1】:

    应该是

    $this->form_validation->set_message('email_check', 'Please provide an acceptable email address.');
    

    【讨论】:

    • 你救了我 :) 还有,你能帮我看看这段代码吗?我看到了一个漏洞。是的,您可以根据给定的电子邮件地址输入您的电子邮件。例如 "test@uni-email-1.com" 。这里的漏洞是您可以在给定示例的末尾添加“.anytext”。比如“@uni-email-1.com.sjkla”。
    【解决方案2】:

    转到文档以供参考HERE

    要设置您自己的自定义消息,您可以使用以下函数:

    $this->form_validation->set_message('rule', 'Error Message');
    

    但您没有在代码中正确命名规则,它应该是 email_check 而不是 email

    $this->form_validation->set_message('email_check', 'Please provide an acceptable email address.');
    

    【讨论】:

    • 你能帮我看看这段代码吗?我看到了一个漏洞。是的,您可以根据给定的电子邮件地址输入您的电子邮件。例如 "test@uni-email-1.com" 。这里的漏洞是您可以在给定示例的末尾添加“.anytext”。比如“@uni-email-1.com.sjkla”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2015-08-07
    • 2021-12-08
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多