2013-09-22 2 views
0

J'essaie de faire une validation dorsale pour mon formulaire, mais cela ne fonctionne pas. Cela montre toujours que la validation a échoué même lorsque j'ai soumis les valeurs.La validation Laravel ne fonctionne pas, échoue toujours

code

$validation = Validator::make(Input::all(), array(
    array('email' => 'required'), 
    array('password' => 'required') 
)); 

if ($validation->fails()) { // This is always failing 
    echo '<pre>'; 
    print_r(Input::all()); 
    die(); 
} 

die('everything is OK!'); 

Sortie

Array 
(
    [_token] => ZnzZ2aDoTABIZZkvwxZoa7IjHkvK25ndibis5AbA 
    [email] => somedata 
    [password] => somemoredata 
) 

Comme vous pouvez le voir même si ce n'a pas montré clairement Input:all() que les valeurs sont définies.

+0

extraire l'erreur et voir pourquoi il échoue? – itachi

Répondre

4

Change:

$validation = Validator::make(Input::all(), array(
    array('email' => 'required'), 
    array('password' => 'required') 
)); 

à

$validation = Validator::make(Input::all(), array(
    'email' => 'required|email', // Note that I added in valid email rule here also 
    'password' => 'required' 
)); 
+1

ne devrait faire aucune différence ici. – itachi

+0

@itachi C'est fait. – sed

+1

Ce qui a fonctionné ici n'est pas le drapeau "email", mais la réparation de l'erreur ** double tableau ** ... voir ma réponse. – grena

6

Essayez ceci:

$validation = Validator::make(Input::all(), array(
    'email' => 'required', 
    'password' => 'required' 
)); 

pas un double tableau que vous avez fait:

$validation = Validator::make(Input::all(), array(
    array('email' => 'required'), // Is shouldn't be an array here. 
    array('password' => 'required') 
)); 
+0

^^ vous l'avez brotha. – wesside

Questions connexes