2014-11-06 366 views
0

我正在创建一个用户登录表单,用户可以使用他/她的用户名或电子邮件与Laravel登录,所以在后端,我想验证用户输入是否存在用户名或已存在的电子邮件地址,类似Laravel验证器检查是否存在多个字段

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

但我怀疑上述是正确的语法,所以我该如何编写我的验证器?

回答

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) 
    ); 
+0

不知道我可以自定义的验证规则,谢谢! – dulan 2014-11-06 07:16:24