2016-07-01 87 views
0

如何驗證,如果我正在上傳整個配置文件與電子郵件的電子郵件驗證工作gud。但是,當我更新配置文件而不更改電子郵件驗證不讓代碼運行。請讓我知道如何解決它的電子郵件應b唯一的,但是當我不改變的電子郵件也更新配置文件更新問題laravel與驗證

 $validation_rules['user_id'] = 'required'; 
     $validation_rules['name'] = 'required'; 
     $validation_rules['email'] = 'email|required|unique:users,email'; 
     $validation_rules['phone'] = 'required'; 
+0

您可以定義不同規則取決於更新或創建。如果您在更新時不需要電子郵件,則不需要將規則設置爲必需。 –

+0

但問題是電子郵件ID應該是唯一的。當我更新配置文件並且不對電子郵件進行任何更改時代碼不會運行 –

+0

爲什麼不提供郵件更新?即使它沒有提交?否則使獨特但不是必需的更新https://laracasts.com/discuss/channels/requests/laravel-5-validation-request-how-to-handle-validation-on-update –

回答

0
$validation_rules['user_id'] = 'required'; 
$validation_rules['name'] = 'required'; 
$validation_rules['phone'] = 'required'; 

if (Request::isMethod('put')) { 
    //which is update 
    $validation_rules['email'] = 'email|required'; 
}else{ 
    // if it is not 'put', it is 'post' which is an insert 
    $validation_rules['email'] = 'email|required|unique:users,email'; 
} 

讓我知道是否奏效