gpt4 book ai didi

forms - 使用逻辑运算符进行 Laravel 表单验证

转载 作者:行者123 更新时间:2023-12-04 18:32:43 25 4
gpt4 key购买 nike

当用户填写 Message (textarea) 时,他/她无法填写 Date、Time、Venue 值。
仅当 Message 为空且所有这三个字段都已填充时,才会考虑这三个字段。
如何使用 Laravel 表单验证来做到这一点?是否可以在请求的规则方法中定义这些逻辑?
我是 Laravel 的新手。
提前致谢

This is my form

最佳答案

您可以通过使用条件验证规则来实现这一点(服务器端):

  • required_if:anotherfield,value,...
  • required_unless:anotherfield,value,...
  • required_with:foo,bar,...
  • required_with_all:foo,bar,...
  • required_without:foo,bar,...
  • required_without_all:foo,bar,...

  • 我会说你的情况:
  • 除非填写信息,否则日期为必填项
  • 除非填写留言,否则需要时间
  • 除非填写留言,否则需要 field
  • 需要没有所有日期、时间、地点的消息

  • 如果需要,可以通过用管道将它们分开来链接规则

    遵循示例代码段。在扩展 Request 的 ExampleFormRequest 中使用此方法
    /**
    * Get the validation rules that apply to the request.
    *
    * @return array
    */
    public function rules()
    {
    $rules = [];

    switch ($this->method()) {
    case 'PATCH':
    case 'PUT':
    case 'POST':
    $rules = [
    'date' => 'required_without:message',
    'time' => 'required_without:message',
    'venue' => 'required_without:message',
    'message' => 'required_without_all:date,time,venue',
    ];
    break;
    default:
    // Perform no alteration to rules
    break;
    }

    return $rules;
    }

    结帐 documentation here

    关于forms - 使用逻辑运算符进行 Laravel 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37935804/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com