Laravel验证-仅在两个条件为真时才需要

问题描述

仅当请求中礼物输入的值为true且经过身份验证的输入的值为false时,才需要 purchaser_first_name purchaser_last_name

到目前为止,我已经尝试过:

  public function rules()
    {        
        return [
            'gift' => 'required','authenticated'=>required,'purchaser_first_name' => 'required_if:gift,true,required_if:authenticated,false','purchaser_last_name' => 'required_if:gift,];
    }

这种方法原来是使用OR运算符,而不是我想要AND运算符。

解决方法

您可以尝试这样:

'purchaser_first_name' => Rule::requiredIf(function () use ($request) {
    return $request->input('gift') && !$request->input('authenticated');
}),

在功能中,您可以设置逻辑。我不确定您真正需要什么,但这对您来说是个好开始。

此外,请检查docs以获得更多有关此信息。

,

尝试如下更改您的验证码:

return [
    'gift' => 'required','authenticated'=>'required','purchaser_first_name' => 'required_if:gift,true|required_if:authenticated,false','purchaser_last_name' => 'required_if:gift,];

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...