繁体   English   中英

Laravel 5.5验证器

[英]Laravel 5.5 validator

laravel中是否有一种方法可以选择存储在数据库中的电子邮件?

例如,如果我想要一个唯一的电子邮件,则可以这样使用“ unique:users”:

$validator = Validator::make($request->all(), [
        'email' => 'required|unique:users',
        'password' => 'required'
        ]);

但是我想知道的是,它是否可以检查给定的电子邮件是否存储在数据库中。 可以通过验证器执行此操作吗?

如果要确保它在数据库中不存在,请使用unique规则:

unique:table

如果要确保记录在数据库中存在,请使用exists规则:

exists:table

您可以将existshttps://laravel.com/docs/5.5/validation#rule-exists )关键字用作:

$validator = Validator::make($request->all(), [
    'email' => 'required|unique:users|exists:users',
    'password' => 'required'
]);

或者,您可以执行以下操作:

$validator = Validator::make($request->all(), [
    'email' => 'required|unique:users',
    'password' => 'required'
]);

if ($validator->fails()) {
    echo 'That email address is already registered';
}

暂无
暂无

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

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