2016-07-01 11 views
0

Wie zu validieren, wenn ich das gesamte Profil mit E-Mail updating die E-Mail-Validierung arbeitet gud. Aber wenn ich das Profil aktualisiere, ohne die E-Mail zu ändern, lässt die Validierung den Code nicht laufen. Bitte lassen Sie mich wissen, wie es zu beheben, dass E-Mail einzigartige B sollte, aber wenn ich es das Profil auch nicht die E-Mail ändern aktualisierenUpdate-Problem in Laravel mit Validierung

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

gearbeitet können Sie definieren verschiedene Regeln abhängig von Update oder erstellen. Wenn Sie beim Update keine E-Mail benötigen, müssen Sie die Regel nicht als erforderlich festlegen. –

+0

Aber das Problem ist E-Mail-ID sollte eindeutig sein. Und wenn ich das Profil aktualisiere und keine Änderungen in der E-Mail mache, läuft der Code nicht –

+0

Warum stellst du nicht einfach die E-Mail zur Verfügung? auch wenn es nicht change? ansonsten make in unique, aber nicht für Updates erforderlich https://laracasts.com/discuss/channels/requests/laravel-5-validation-request-how-to-handle-validation-on-update –

Antwort

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'; 
} 

Lassen Sie mich wissen, ob das