這篇文章將為大家詳細(xì)講解有關(guān)Laravel中表單size驗(yàn)證數(shù)字,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)銅鼓,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575寫(xiě)的驗(yàn)證規(guī)則是這樣的
$data = ['age' => 9]; $validator = \Illuminate\Support\Facades\Validator::make($data, ['age' => 'required|size:9']); if ($validator->fails()) { dd($validator->errors()->first()); } dd('pass');
我以為只要在驗(yàn)證的數(shù)據(jù) 9 是整數(shù),他就會(huì)直接按數(shù)字的方式驗(yàn)證,結(jié)果直接打印了錯(cuò)誤消息The age must be 9 characters.這個(gè)錯(cuò)誤消息很明顯的是提示字符串長(zhǎng)度的,然后看了一下才發(fā)現(xiàn)還需要加上一個(gè)條件。numeric或者integer,
看源碼直接跳到\Illuminate\Validation\Validator::fails()
查看驗(yàn)證
主要驗(yàn)證的方法是這個(gè)$this->validateAttribute($attribute, $rule);
前面這些是過(guò)濾,驗(yàn)證文件上傳的
這里動(dòng)態(tài)拼接了一個(gè)方法,通過(guò)打印得知是validateSize
然后在這個(gè)類(lèi)用的 trait 中找到這個(gè)方法ValidatesAttributes::validateSize
其實(shí)這里已經(jīng)可以看到驗(yàn)證$hasNumeric
$hasNumeric里放的是這個(gè)
再看一下他是如何驗(yàn)證的
如果沒(méi)有'numeric'或者'integer'會(huì)返回 null,就會(huì)導(dǎo)致$hasNumeric等于 false
關(guān)于Laravel中表單size驗(yàn)證數(shù)字就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。