Cakephp 3电子邮件验证

时间:2016-03-23 08:54:29

标签: cakephp cakephp-3.0

下载用于验证的cakephp3文档的人我尝试验证我的电子邮件字段,但验证效果不佳。

这是如何有效的电子邮件?

  • a#53%#sdasd@gmail.com
  • %321&安培;%$ sd@gmail.com

表单已成功提交,数据已保存到数据库。我认为这个验证并不好bcs我从未在上面的实时电子邮件地址中看到过。

return $validator->requirePresence('email')
            ->notEmpty('email', __('Email is required field'))
            ->add('email', 'validFormat', [
                'rule' => 'email',
                'message' => 'E-mail must be valid'
            ]);

1 个答案:

答案 0 :(得分:4)

在这里,您可以找到Cake用于电子邮件验证的正则表达式:

https://github.com/cakephp/cakephp/blob/master/src/Validation/Validation.php#L567

如果它不能满足您的需求,您可以随时提供自己的需求。

查看CakePHP源中的电子邮件验证规则:

 public static function email($check, $deep = false, $regex = null)

您可以像这样提供自己的正则表达式:

$validator->add("email", "validFormat", [
    "rule" => ["email", false, $yourRegexp],
    "message" => "Email must be valid."
])