Laravel 6中的时间验证规则-之后|之前

问题描述 投票:1回答:2

检查了这种question类似但对我的情况没有帮助。

我有多个时间输入,需要确保开始时间不应大于结束时间。enter image description here

我的输入请求转储为

array:2 [▼
  "_token" => "nYb7gSp5TGTcrU9nNW9PMjJTduohLZFDLCzLGPbq"
  "timings" => array:8 [▼
    "day_1" => array:1 [▼
      0 => "1"
    ]
    "day_2" => array:1 [▼
      0 => "1"
    ]
    "day_3" => array:1 [▼
      0 => "1"
    ]
    "day_4" => array:1 [▼
      0 => "1"
    ]
    "day_5" => array:1 [▼
      0 => "1"
    ]
    "day_6" => array:1 [▼
      0 => "1"
    ]
    "day_7" => array:1 [▼
      0 => "1"
    ]
    "session" => array:1 [▼
      0 => array:2 [▼
        "start" => array:2 [▼
          0 => "14:00 PM"
          1 => null
        ]
        "end" => array:2 [▼
          0 => "15:00 PM"
          1 => null
        ]
      ]
    ]
  ]
]

到目前为止,我为此所做的是

$rules = [
    'timings.session.*.start.*' => 'nullable|date_format:H:i|before:timings.session.*.end.*',
    'timings.session.*.end.*' => 'nullable|date_format:H:i|after:timings.session.*.start.*',
];

$messages = [
    'timings.session.*.start.*.before' => 'Start Time should be before End Time',
    'timings.session.*.end.*.after' => 'End Time should be after Start Time',
];
$validator = Validator::make($request->all(), $rules, $messages);

dd($validator->errors());

仍然收到错误消息是>

Illuminate\Support\MessageBag {#780 ▼
  #messages: array:2 [▼
    "timings.session.0.start.0" => array:2 [▼
      0 => "The timings.session.0.start.0 does not match the format H:i."
      1 => "Start Time should be before End Time"
    ]
    "timings.session.0.end.0" => array:2 [▼
      0 => "The timings.session.0.end.0 does not match the format H:i."
      1 => "End Time should be after Start Time"
    ]
  ]
  #format: ":message"
}

问题:

a。)如何为时间输入设置正确的验证规则,以确保开始时间不应该大于结束时间?

b。)如何为日期选择添加另一个验证规则以匹配至少一个复选框?

谢谢,希望它也能帮助其他人。

检查了类似的问题,但对我而言没有帮助。我有多个时间输入,需要确保开始时间不应大于结束时间。我的输入请求转储是...

laravel validation time laravel-6 laravel-validation
2个回答
0
投票

抱歉,经过一番尝试后,我发现一个解决方案,我只需要删除date_format


0
投票

请尝试使用这种方式可能会对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.