讓TP5 Validate支持二維數(shù)組驗(yàn)證

TP5 Validate 只支持一維數(shù)組的驗(yàn)證 , 沒有像laravel 的那種二維驗(yàn)證.

修改 thinkphp/library/think/Validate.php 文件

protected function getDataValue($data, $key)
    {
        if (is_numeric($key)) {
            $value = $key;
        } elseif (strpos($key, '.')) {
            $arr = explode('.', $key);
            // 支持二維數(shù)組驗(yàn)證
            if (count($arr) > 2){
                list($name1,$name2,$name3) = $arr;
                //判斷key是否存在
                if (!isset($data[$name1])){
                    return  null;
                }
                if ($name2 == '*'){
                    if (!isset($data[$name1]) || empty($data[$name1])){
                        return null;
                    }
                    foreach ($data[$name1] as $datum){
                        $value       = isset($datum[$name3]) ? $datum[$name3] : null;
                        if (!$value){
                            return  $value;
                        }
                    }
                }
            }else{
                list($name1,$name2) = $arr;
                $value               = isset($data[$name1][$name2]) ? $data[$name1][$name2] : null;
            }

        } else {
            $value = isset($data[$key]) ? $data[$key] : null;
        }
        return $value;
    }

控制器的使用

public function data()
    {
        $param = $this->request->param();
        $rule = [
            'data.*.name|名稱' => 'require',
            'data.*.type|分類' => 'require',
        ];
        $validate = new Validate($rule);
        $result = $validate->check($param);
        if (!$result) {
            return message(403, [], $validate->getError());
        }
    }

接口請(qǐng)求數(shù)據(jù)


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轩性,一起剝皮案震驚了整個(gè)濱河市几缭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖徘层,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峻呕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡趣效,警方通過查閱死者的電腦和手機(jī)瘦癌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跷敬,“玉大人讯私,你說我怎么就攤上這事「苫ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵楞黄,是天一觀的道長(zhǎng)池凄。 經(jīng)常有香客問我,道長(zhǎng)鬼廓,這世上最難降的妖魔是什么肿仑? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮碎税,結(jié)果婚禮上尤慰,老公的妹妹穿的比我還像新娘。我一直安慰自己雷蹂,他們只是感情好伟端,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匪煌,像睡著了一般责蝠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萎庭,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天霜医,我揣著相機(jī)與錄音,去河邊找鬼驳规。 笑死肴敛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吗购。 我是一名探鬼主播医男,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼捻勉!你這毒婦竟也來了昨登?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤贯底,失蹤者是張志新(化名)和其女友劉穎丰辣,沒想到半個(gè)月后撒强,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笙什,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年飘哨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琐凭。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芽隆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出统屈,到底是詐尸還是另有隱情胚吁,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布愁憔,位于F島的核電站腕扶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吨掌。R本人自食惡果不足惜半抱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膜宋。 院中可真熱鬧窿侈,春花似錦、人聲如沸秋茫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)肛著。三九已至乘瓤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間策泣,已是汗流浹背衙傀。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留萨咕,地道東北人统抬。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像危队,于是被迫代替她去往敵國(guó)和親聪建。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 理工寢室商店-微信小程序 疑問小結(jié) 當(dāng)時(shí)在XAMMP下mysql目錄下的bin下 php -v 不起作用.到ph...
    這個(gè)超人不會(huì)飛阿閱讀 1,698評(píng)論 1 1
  • TP5框架的validata 是框架封裝好了的對(duì)參數(shù)校驗(yàn)的一個(gè)基類茫陆,在開發(fā)過程中金麸,涉及到參數(shù)的驗(yàn)證,可以使用該類簿盅。...
    陳智濤閱讀 800評(píng)論 0 0
  • 前言: 我們?cè)谧鯝PI開發(fā)的時(shí)候挥下,我們會(huì)接受客戶端傳來的參數(shù)揍魂,大家都知道這個(gè)參數(shù)是不可信的,我們后端開發(fā)人員必須對(duì)...
    祥哥去哪里閱讀 17,914評(píng)論 4 17
  • 前言: 驗(yàn)證碼是我們互聯(lián)網(wǎng)生活中非常常見的一個(gè)事物,我們開發(fā)人員也經(jīng)常會(huì)寫,沒有驗(yàn)證碼的系統(tǒng)是不安全的.我們平時(shí)使...
    祥哥去哪里閱讀 2,888評(píng)論 0 2
  • ps:斜體加粗字體為重構(gòu)的每一個(gè)過程 例如我們現(xiàn)在 tp5 項(xiàng)目中有一個(gè)名為 Banner 的控制器棚瘟。里面有一個(gè)需...
    風(fēng)聲233閱讀 1,361評(píng)論 1 2