【问题标题】:Conditional validator that require a field to be alone需要一个字段单独的条件验证器
【发布时间】:2019-10-22 01:32:10
【问题描述】:

我愿意接受我对这些标准的update 验证:

  • firstnamelastname 存在,因此是必需的,但没有给出 deceased_at
  • deceased_at 单独给出

这是有道理的,因为我们可以更新任何字段,但是当我们记录某人的死亡时,我们永远不会更改任何字段值。

    $validator = Validator::make($request->all(), [
        'firstname' => 'required_unless:deceased_at|max:255',
        'lastname' => 'required_unless:deceased_at|max:255',
        'deceased_at' => 'required_without_all:firstname,lastname|date'
    ]);

required_without_all 使用起来很麻烦,因为我必须提到每个字段。我更喜欢required_alone 之类的东西。

有什么选择?

【问题讨论】:

    标签: php laravel validation


    【解决方案1】:

    我认为您可以继续使用 if 案例作为替代方案?

    $validator = Validator::make($request->all(), $this->rules($request));
    
    ...
    
    protected function rules(Request $request) : array
    {
        return $request->has('deceased_at')
            ? ['deceased_at' => 'required|date']
            : [
                'first_name' => 'required|max:255',
                'last_name' => 'required|max:255',
            ]
    }
    

    【讨论】:

      猜你喜欢
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      相关资源
      最近更新 更多