2016-05-01 7 views
1
Formatierung

Laravel Form Request Validation verwenden,
Wie das Antwortformat anpassen?

Zum Beispiel zeigt es Fehlermeldungen wie: -Laravel Anfrage Validierungsnachricht

{ 
    "password": ["The password field is required."], 
    "password_confirmation": ["The password confirmation field is required."] 
} 

ich alle Fehlermeldungen in der Beschreibung Eigenschaft setzen wollen, so etwas wie.

{ 
    "status" : false, 
    "description" : ["The password field is required.", "The password confirmation field is required."] 
} 

Antwort

0

Es ist direkt in der unten stehenden doc Link, der Ihnen zur Verfügung gestellten:

Sie können die Fehlermeldungen durch die Form Anforderung durch die Nachrichten Methode überschrieben verwendet anpassen. Diese Methode sollte ein Array von Attribut/Regel-Paaren und ihre entsprechenden Fehlermeldungen zurückgeben.

Also, legen Sie dies in Ihrem Antrag:

public function messages() 
{ 
    return [ 
     'password.required' => 'The password field is required.', 
     'password_confirmation.required' => 'The password confirmation field is required.', 
    ]; 
} 
0
public function rules() 
    { 

     return [ 
     'password' => [ 'required' , 'min:4','confirmed' ] , 
     'password_confirmation' => [ 'required' , 'min:4' ] 
      ]; 

    } 
0

Eine andere Methode für benutzerdefinierte Validierung Erstellen von Nachrichten wäre, um Ihre eigenen Nachrichten-Array an die validate Funktion in Ihrem Controller-Aktion zu übergeben. Die validate-Funktion nimmt ein Array mit benutzerdefinierten Nachrichten als dritten Parameter.

public function listing(Request $request) 
{ 
    $messages = [ 
     'search_input.alpha_dash' => 'Please enter a valid search term. Only use letters, dashes and underscores.', 
    ]; 

    $this->validate($request, [ 
     'search_input' => 'alpha_dash', 
    ], $messages); 


    return view('videos.index'); 
} 
0

Um alle Fehlermeldungen in ein Array herausziehen Sie so etwas wie dieses brauchen würde ...

$validator = Validator::make($request->all(), [ 
    'password' => 'required', 
    'password_confirmation' => 'required|same:password', 
]); 

$messages = $validator->errors()->toArray(); 
/* ** This will give you something like this ** 
* 
*  'password' => 'The password field is required.', 
*  'password_confirmation' => 'The password confirmation field is required.' 
* 
* **/ 

// If you want only array values - as your example of description, then use php's array_values() method like this... 

$description_arr = array_values($messages); 

Dank dieser Ihnen helfen, hoffen zu tun .. !! Für ein besseres Verständnis von Laravel Validierungen gehen Sie durch seine Dokumente - Laravel Validation Docs

Verwandte Themen