Codeigniter自定义电子邮件验证规则

Rip*_*rlz 8 php email validation codeigniter

有人可以就如何为Codeigniter创建自定义验证规则提供一些建议.

我正在处理的网站是针对大学生的,只允许用户在使用大学电子邮件地址时进行注册.

以下是我尝试实现的验证类型的示例:

仅允许以以下结尾的电子邮件:

array(
    '0' => '@uni-email-1.com',
    '1' => '@uni-email-2.com',
    '2' => '@uni-email-3.com',
    '3' => '@uni-email-4.com',
);
Run Code Online (Sandbox Code Playgroud)

我仍然是codeigniter的新手,我不知道如何创建这种类型的验证.

非常感谢任何帮助!

谢谢

小智 11

当然,这是怎么回事?

function index()
{
    $this->load->helper(array('form', 'url'));

    $this->load->library('form_validation');


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

    if ($this->form_validation->run() == FALSE)
    {
        //fail
    }
    else
    {
        //success
    }
}

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;

}
Run Code Online (Sandbox Code Playgroud)