使用Laravels Validator验证数组

时间:2017-01-10 08:48:43

标签: php laravel validation

是否可以使用Laravels show the tooltip only when ellipsis is active函数来验证数组,如果可以,如何使用?

我对验证输入或请求不感兴趣,我只想在完全普通的数组上使用Laravels出色的验证语法。

实施例

$arr = array(
    'name' => 'David',
    'year' => 1986,
    'score' => 532
    );

$this->validate($arr, [
    'name' => 'required',
    'year' => 'numeric',
    'score' => 'required|numeric'
    ]);

这会抛出错误

  

传递给App \ Http \ Controllers \ Controller :: Valid()的参数1必须是Illuminate \ Http \ Request

的实例
  • Laravel版本:5.1
  • PHP版本:7.1

3 个答案:

答案 0 :(得分:2)

您可以使用

$arr = array(
    'name' => 'David',
    'year' => 1986,
    'score' => 532
    );

$validator = Validator::make($arr, [
    'name' => 'required',
    'year' => 'numeric',
    'score' => 'required|numeric'
    ]);

if ($validator ->passes()){
/* True condition here*/
}

答案 1 :(得分:0)

$ this-> validate()方法需要'请求'作为第一个论点。 要使用 $ this-> validate()方法,您应该在调用 $ this-> validate()之前合并请求数据。

$request->merge(array(
    'name' => 'David',
    'year' => 1986,
    'score' => 532
));

$this->validate($request->only(['name', 'year', 'score']), [
    'name' => 'required',
    'year' => 'numeric',
    'score' => 'required|numeric'
]);

P.S。别忘了给你的方法注入Request服务。

答案 2 :(得分:0)

$validator = Validator::make(
        $arr,
        array(
            'name' => 'required',
            'year' => 'numeric',
            'score' => 'required|numeric'
        )
    );

    if ($validator->fails()) {
        $errors = $validator->errors();
        print_r($errors);
    }