Validación Laravel: required_with_all condición siempre pasando
Segúndocumentación de validación laravel:
required_with_all: foo, bar, ... El campo bajo validación debe estar presente solo si todos los demás campos especificados están presentes.
Aquí está mi prueba:
Route::get('/test/{param}', function($param) {
$screenRules = array(
'foo' => 'string',
'param' => 'required_with_all:foo',
);
$validator = Validator::make(array('param' => $param), $screenRules);
if($validator->fails())
{
echo '<pre>';
print_r($validator->errors());
echo '</pre>';
die('Dying now!');
}
else
{
echo 'All Good!';
die('Dying now!');
}
});
Esperaría eso ya que no estoy pasandofoo
, esta prueba debería fallar. Pero esta prueba pasa cuando llamo a mi url:mysite.com/test/mytest
Del mismo modo, si invierte el papel, así
'param' => 'required_without_all:foo',
y pasar foo como entrada
array('param' => $param, 'foo' => 'bar')
Esperaría eso desdefoo
está presente, no puedes tenerparam
como entrada Pero la prueba aún pasa.
En ambos casos, debería estar viendo errores. Entonces, ¿qué está pasando aquí?
También sé que mis funciones de validación no están mal, porque mi otra validación funciona. P.ej. agregue una condición como esta:
'param' => 'required_with_all:foo|numeric',
y seguro arroja un errorThe param must be a number.