繁体   English   中英

如何使用尊重验证来验证电子邮件列表

[英]How to validate a email list using 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);

我有:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM