0

我正在创建一个用户登录表单,用户可以使用他/她的用户名或电子邮件登录 Laravel,所以在后端,我想验证用户输入是现有用户名还是现有电子邮件地址,例如

    $validator = Validator::make(
        array('username_or_email' => $username_or_email),
        array('username_or_email' => 'exists:users,username|exists:users,email)
    );

但我怀疑上面是正确的语法,那么我应该如何编写我的验证器?

4

1 回答 1

1

假设您不允许@输入用户名,您可以这样做:

if (strpos($username_or_email, '@') === false) {
   $rule = 'exists:users,username';
}
else {
   $rule = 'exists:users,email;
}


$validator = Validator::make(
        array('username_or_email' => $username_or_email),
        array('username_or_email' => $rule)
    );
于 2014-11-06T07:04:10.813 回答