2016-09-22 4 views
2

Validator Validator Facade Ich verwende, hier ist der Codeeinen Fehler Befestigung in Laravel 5

$req = Request::all(); 
$rules = [ 
    'name'=>'required|min:3|max:20' 
]; 
$validator = Validator::make($req, $rules); 

if(/*another problem*/){ 
    // ?? 
}  

if ($validator->fails()) { 
    return redirect()->back()->withErrors($validator)->withInput(); 
} 

ich die Fehler halten möchten, dass die ist es selbst der Laravel Validator machen und ihnen einige andere anhängen (falls erforderlich) . Also zum Beispiel, wenn mit dem name Eingang nichts falsch war, aber meine if Anweisung einen Fehler gefunden hat, würde die Validator fehlschlagen.

+0

In diesem Fall sollten Sie die andere Bedingung überprüfen, nachdem der Validator fehlgeschlagen ist (IMO). –

Antwort

2

Validator MessageBag

Sie die Nachricht durch Zugabe zu der name Eigenschaft des Formulars auf die ValidatorMessageBag hinzufügen können.

if(/*another problem*/) { 
    $validator->getMessageBag()->add('name', 'Something else does not check out!'); 

    return redirect()->back()->withErrors($validator)->withInput(); 
} 

Ich würde empfehlen, diese Logik zu tun, nachdem Sie überprüfen, ob die formvalidation ausgefallen ist, weil gerade hinzufügen, die Nachricht an die MessageBag werden Ihre Validierungszwecke als nicht bestanden. Dann können Sie die Weiterleitung manuell zurückgeben, nachdem eine oder mehrere dieser Überprüfungen durchgeführt wurden, um das Formular mit Fehlern und Eingaben erneut zu leiten.

+0

Sie haben ich, aber es funktioniert nicht,? – bobD

+0

@bobD Überprüfen Sie das Update –

0

Versuchen Sie, diese Validierung

$messages = [ 
    'name.required' => 'Please enter name.', 
    'naem.min' => 'The name must be at least 3 characters.', 
    'name.max' => 'The name may not be greater than 20 characters.' 
]; 

$validator = Validator::make($data, [ 
    'name'=>'required|min:3|max:20' 
], $messages); 
+0

das ist nicht, was ich brauche, in Betracht ziehen, etwas zu überprüfen, das für Laravel Validator unmöglich ist – bobD

+0

Ok, Sie wollen benutzerdefinierte Validierung rechts hinzufügen .. – Komal

+0

das ist eine andere Möglichkeit, ich möchte die faulste Art und Weise tun, nur manuell überprüfen und fügen Fehler – bobD