当前位置: 首页 > 知识库问答 >
问题:

为什么Laravel的required_without_all验证不能识别我的参数?

赵智
2023-03-14

我想验证只有当另外两个输入为空时才需要输入。所以我使用required_without_all验证规则。

根据Laravel 5.4文件要求,无需所有:

只有当所有其他指定字段都不存在时,验证中的字段才必须存在且不为空。

然而,我认为我不知道现在是什么意思,因为我认为这意味着输入必须被填充。

当我在用户名为空的情况下运行测试时,无论firstname和lastname输入是否为空,它都会返回以下错误:

当firstname/lastname都不存在时,用户名字段是必需的。

以下是我对控制器的验证:

public function test()
{
    $this->validate(request(), [
        'username' => 'required_without_all: firstname, lastname',
    ]);

    return redirect('/');
}

共有2个答案

云航
2023-03-14

这是方法定义:

``
    /**
     * Validate that an attribute exists when all other attributes do not.
     *
     * @param  string  $attribute
     * @param  mixed   $value
     * @param  mixed   $parameters
     * @return bool
     */
    protected function validateRequiredWithoutAll($attribute, $value, $parameters)
    {
        if ($this->allFailingRequired($parameters)) {
            return $this->validateRequired($attribute, $value);
        }

        return true;
    }
```

如您所见,当没有给出所有其他属性时,验证就会通过。

陶宏浚
2023-03-14

代码有点问题。firstname和lastname参数上不应该有空格。代码应为:

'username' => 'required_without_all:firstname,lastname',

而不是:

'username' => 'required_without_all: firstname, lastname',

所以,现在所有的工作都很好。对不起,伙计们,我更新了问题,使之符合实际问题。

 类似资料:
  • 问题内容: 从JavaDoc: 验证此容器及其所有子组件。验证容器意味着布置其子组件。 那就是我想做的。使用尽可能轻巧的组件。但是当我这样做时,对的调用不会使组件“有效”。 为什么我不能做一个有效的? 问题答案: 在文档中说: 当组件在其父容器中的大小和位置正确且其所有子组件也均有效时,该组件才有效。 这种情况,直到你达到顶级容器(,或)。在您所遇到的问题的示例中,您没有父母,所以它永远不会有效。

  • 我用LWJGL编写了一个简单的程序。问题是每次我尝试运行应用程序时,都会遇到这个错误: 该错误具有误导性,因为我确实调用了< code > glfwMakeContextCurrent(window)和< code > GL . create capabilities()。 我将错误跟踪到似乎当我删除这个和行时,应用程序将运行。 我不理解的是为什么会发生这种情况,因为我在中确实有一个GLFW 3.

  • 当我使用jsonschemavalidator测试验证时,模式如下: 和输入如下: 验证失败

  • 对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。 以下是PracticeIt的提示: 编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该

  • 我不明白为什么我的Nexus4没有出现在adb设备列表中。我试过以下方法 $adb杀死服务器;亚洲开发银行设备 亚行在我的路上。当我查看系统信息时,会显示Nexus 4。 我试着询问xda开发人员,但没有成功。有什么建议我可以试试吗? 提前感谢

  • 有25种类型的空白。在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么? 参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)