2016-07-01 4 views
0

как проверить, если я оптимизирую весь профиль с помощью электронной почты, проверка электронной почты работает gud. Но когда я обновляю профиль без изменения электронной почты, проверка не позволяет запустить код. Пожалуйста, дайте мне знать, как это исправить, что электронная почта должна б уникальным, но когда я не изменить адрес электронной почты также обновить профильпроблема с обновлением в laravel с подтверждением

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

Вы можете определить разные правила в зависимости от обновления или создания. Если при обновлении вам не требуется электронная почта, вам не нужно устанавливать это правило. –

+0

Но проблема с идентификатором электронной почты должна быть уникальной. И когда я обновляю профиль и не вношу никаких изменений в электронную почту, код does'nt запускает –

+0

, почему вы просто не предоставляете почту при обновлении? даже если это не было chane? в противном случае сделать уникальным, но не обязательным для обновлений 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'; 
} 

Позвольте мне знать, если это работает

Смежные вопросы