2016-04-12 5 views
1

Diese Arrays Ich habe in Laravel Validator als Argumente bekommen:Wie Array-Index in Validierungsnachricht Laravel 5.2

['item.*' => 'string'] // rules 

['item.*.string' => 'Item number (index) is not string'] // messages 

Ich möchte index number in Validierungsnachricht haben. Der obige Code dient nur zur Demonstration und funktioniert nicht. Wie macht man das?

Antwort

5

Versuchen Sie dieses oder verwenden Sie diesen ein

'name' : [ { 'value' : 'raju' } , { 'value' : 'rani'} ]  

und bestätigen Sie, indem

'name.*' or 'name.*.value' => 'required|string|min:5'  

Die Nachricht

'name.*.required' => 'The :attribute is required'  
    'name.*.value.required' => 'The :attribute is required'  

sein wird, ich denke, es wird Ihnen helfen ..

Versuchen Sie diese,

public function messages() 
{ 
    $messages = []; 
    foreach ($this->request->get('name') as $key => $value){ 
     $messages['name.'. $key .'.required'] = 'The item '. $key .' is not string'; 
    } 
    return $messages; 
} 
+0

Nun, ich brauche Index in der Nachricht angezeigt werden. Dies zeigt nur den Attributnamen an. – Fusion

+0

@Fusion Ich denke, das: Attribut Ort geben name.0, name.1 und etc, also, es ist nicht genug für erfordern.? –

+0

@Fusion { "Name.0": [ "Element Nummer Name.0 ist keine Zeichenfolge." ] } Dies ist meine Alter Ausgabe für Ihr Wissen. –