【问题标题】:How to validate a email list using Respect Validation如何使用尊重验证验证电子邮件列表
【发布时间】:2020-08-22 21:15:44
【问题描述】:

我正在使用 Respect Validation 类,我想验证由 , 或 ; 分隔的电子邮件列表和空格:

mymail1@mydomain.com; mymail2@mydomain.com,mymail3@mydomain.com ;mymail4@mydomain.com;

我无法使用标准 email() 规则,也没有找到任何混合逗号、分号和空格列表的规则。

我尝试创建一个自定义规则类,并将其放在我的 App\Validaton\Rules 文件夹中。

namespace App\Validation\Rules;

use Respect\Validation\Rules\AbstractRule;
use Respect\Validation\Rules\Email;

class Emails extends AbstractRule
{
    public function validate($input)
    {
        if (!is_string($input)) {
            return false;
        }

        $inputs=preg_split( "/;|,/", $input);

        $v=new Email();
        foreach($inputs as $input){
            if(!$v->validate($input))
                return false;
        }
        return true;
    }

}

如何通过静态验证器引用使用我的自定义验证器?

如果我试试这个:

use \Respect\Validation\Validator as V
...
V::length(0,200)->emails()->validate($input);

我明白了:

“电子邮件”不是有效的规则名称

我在命名空间包含中缺少什么?

【问题讨论】:

    标签: php respect-validation


    【解决方案1】:

    我已经通过在应用程序引导程序中添加这一行来解决:

    \Respect\Validation\Validator::with("\\App\\Validation\\Rules\\");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 2023-04-04
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多