我有一個表'user_temps',它包含新用戶,直到他們確認其訂閱。完成後,我將用戶複製到'用戶'表。Laravel 5:使用不同消息驗證2個表中的字段
在登記表我有此驗證PARAMS:
'email' => 'required|email|max:255|unique:user_temps|unique:users',
的問題是有我需要有2個不同的消息: 如果用戶是在「user_temps」表,另一個如果用戶在'用戶'表中。
謝謝
我有一個表'user_temps',它包含新用戶,直到他們確認其訂閱。完成後,我將用戶複製到'用戶'表。Laravel 5:使用不同消息驗證2個表中的字段
在登記表我有此驗證PARAMS:
'email' => 'required|email|max:255|unique:user_temps|unique:users',
的問題是有我需要有2個不同的消息: 如果用戶是在「user_temps」表,另一個如果用戶在'用戶'表中。
謝謝
爲了簡化問題,你能不能做到以下幾點:
在你的用戶的表,已經認繳命名爲布爾列'默認爲0.那麼當他們確認他們的訂閱後,您可以將其設置爲1?
隨後,在authentication,你可以運行這個檢查:
if (Auth::attempt(['email' => $email, 'password' => $password, 'subscription' => 1]))
{
// The user is active, subscribed and exists.
}
想一些不好的解決方案的人(坦克你PMALL)後給了我在另一個地方的答案:
我定義我自己的驗證對於臨時用戶
public function validateTempUserEmail($attribute, $value, $parameters)
{
return UserTemp::where($attribute, $value)->count() == 0;
}
而且現在的規則驗證電子郵件
'email' => 'required|email|max:255|TempUserEmail|unique:users',
爲什麼你將未經確認的用戶存儲在單獨的表中?如果你想知道用戶什麼時候確認了他們的賬戶,只需要一個包含布爾值的「已確認」列和一個「已確認的時間戳」列。 –