2014-11-06 51 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

相關問題