Stan
Stan

Reputation: 26501

Laravel validation does not work, always fails

I am trying to make back-end validation for my form however it does not work. It always shows that validation failed even when I submitted the values.

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!');

Output

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

As you can see it failed even tho it clearly showed from Input:all() that values are set.

Upvotes: 0

Views: 5261

Answers (2)

grena
grena

Reputation: 1020

Try this :

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

Not double array as you did :

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

Upvotes: 6

fideloper
fideloper

Reputation: 12293

Change:

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

to

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

Upvotes: 4

Related Questions