我正在创建一个用户登录表单,用户可以使用他/她的用户名或电子邮件登录Laravel,所以在后端,我想验证用户输入是现有的用户名还是现有的电子邮件地址,
之类的东西 $validator = Validator::make(
array('username_or_email' => $username_or_email),
array('username_or_email' => 'exists:users,username|exists:users,email)
);
但我怀疑上面是正确的语法,所以我该如何编写验证器?
答案 0 :(得分: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)
);