拉拉维尔验证返回空值



正如标题所说,我在 Laravel 5.5 中的验证不起作用,这是我控制器中的代码

$val = $this->validate($request, [
                'name' => 'required',
                'email' => 'required|email'
                ]);
                if($val->fails()) {
                    return "Fail":
                } else {
                    return "Success";
                }

如果我尝试转储变量$val我会得到null回报。此外,我还检查了输入是否正确,是的,$request->input()返回了我的数据。

请求中的字段:

"name" => "test"
  "email" => "test@test.com"
  "oldPassword" => null
  "newPassword" => null
  "repeatPassword" => null

(空字段未经验证,因为我在此请求中不需要它们,因此它们是空的(

自从我接触 Laravel 以来已经有一段时间了,但我记得总是使用它进行验证,我错过了什么吗?

validate()

返回任何内容。 如果失败,它只会抛出一个400 Bad Request错误,以及一条包含失败原因的消息(即。"名字字段为必填项"(。 您通过它的事实意味着数据是有效的。

如果你想像这样使用自己的逻辑,你可以做这样的事情:

$validator = Validator::make($request->all(), [
      'name' => 'required',
      'email' => 'required|email'
]);
if($validator->fails()){
    $errors = $validator->errors();
    ....

相关内容

  • 没有找到相关文章

最新更新