2017-02-10 1 views
2

Ich versuche, eine benutzerdefinierte Validierung mit benutzerdefinierten Validierung Nachricht hinzufügen und Validierung funktioniert gut. Jetzt ist das Problem, wenn diese Validierung fehlschlägt, möchte ich, dass die Nachricht für diese Validierung als Validierungsfehler angezeigt wird, aber eine unerwartete Nachricht angezeigt wird.hinzufügen benutzerdefinierte Validierung Nachricht für die benutzerdefinierte Validierung in Laravel 5.3 funktioniert nicht

public function rules() 
{ 
    Validator::extend('alreadyAddedAsBeneficiary', function ($attribute, $value, $parameters, $validator) { 


     if ($event = Event::where('event_code', $this->request->get('event_id'))->first()) { 

      if ($user = User::where('email', $this->request->get('email'))->first()) { 

       if ($event->beneficiary()->where('user_id', $user->id)->count() > 0) 
        return false; 

       return true; 

      } 

     } 

     AppHelper::unAuthorizedAccess(AppHelper::getErrorCode('invalid-request')); 

    }); 

    return [ 
     'first_name' => 'required|max:225|min:1', 
     'middle_name' => 'max:225', 
     'last_name' => 'max:225', 
     'email' => 'required|email|unique:users,email|max:255|alreadyAddedAsBeneficiary', 
     'password' => 'required|max:60', 
    ]; 
} 

public function messages() 
{ 
    return [ 
     'email.unique' => 'User already exist in system.', 
     'email.alreadyAddedAsBeneficiary' => 'This user is already added as beneficiary.' 
    ]; 
} 

Diese Nachricht wird angezeigt. Aber ich habe erwartet "Dieser Benutzer wurde bereits als Empfänger hinzugefügt."

Here is the error message generated

+0

''email' => 'alreadyAddedAsBeneficiary | erforderlich | email | unique: Benutzer, email | max: 255',' hat nicht richtig funktioniert? –

+0

nop ich habe es versucht, funktioniert auch nicht –

+0

** In diesem Beispiel, wenn die erforderliche Regel für das Titelattribut fehlschlägt, wird die eindeutige Regel nicht überprüft. Die Regeln werden in der Reihenfolge validiert, in der sie zugewiesen wurden. ** Was sagt die Seite? https://laravel.com/docs/5.4/validierung –

Antwort

2

die Lösung gefunden, änderte ich die dh Gültigkeitsregel. adjustAddedAsBeneficiary to adjust_added_as_beneficiary und jetzt funktioniert es.

Verwandte Themen