亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 自定義驗證檢查參數中提供的其他字段

Laravel 自定義驗證檢查參數中提供的其他字段

PHP
墨色風雨 2022-12-03 10:26:24
除了 required_without 之外,我還想制作自定義驗證器,如果所有字段都已填充,則也會失敗。當前規則:'foo' => 'required_without:baz','bar' => 'required_without:baz','baz' => 'required_without_all:foo,bar',將導致:Foo、Bar、Baz 都是空的(報錯)Foo / Bar 一個被填充,另一個為空(錯誤)Foo 和 Bar 已填充,Baz 為空(確定)Foo 和 Bar 是空的,Baz 是滿的 (OK)Foo Bar 和 Baz 已填充(確定)← 我希望它變成錯誤所以我正在使用 extend 創建自定義驗證器,并想像這樣使用它:'foo' => 'required_without:bar|empty_if_present:baz','bar' => 'required_without:foo|empty_if_present:baz','baz' => 'required_without_all:foo,bar|empty_if_present:foo,bar',AppServiceProvider.phpValidator::extend('empty_if_present', function ($attribute, $value, $parameters, $validator) {    $attributeIsNotEmpty = !empty($value);    $paramsAreEmpty = true;    foreach ($parameters as $param) {        // how do I check if Foo and Bar are empty??        if ($param is not empty) {            $paramsAreEmpty = false;        }    }    return $attributeIsNotEmpty && $paramsAreEmpty;}, 'The :attribute must be empty if :fields is present.');
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

這就是你想要的


Validator::extend('empty_if_present', static function ($attribute, $value, $parameters, $validator) {

    $attributeIsNotEmpty = ! empty($value);

    $paramsAreEmpty = true;


    foreach ($parameters as $param) {

        // how do I check if Foo and Bar are empty??

        if (! empty(request()->input($param))) {

            $paramsAreEmpty = false;

        }

    }


    return $attributeIsNotEmpty && $paramsAreEmpty;

}, 'The :attribute must be empty if :fields is present.');


查看完整回答
反對 回復 2022-12-03
  • 1 回答
  • 0 關注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號