亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Laravel中表單size驗(yàn)證數(shù)字示例詳解

 更新時(shí)間:2018年07月10日 15:37:02   作者:施國(guó)鵬  
Laravel 的驗(yàn)證功能非常強(qiáng)大,基本上常見的需求都有對(duì)應(yīng)的驗(yàn)證規(guī)則,下面這篇文章主要給大家介紹了關(guān)于Laravel中表單size驗(yàn)證數(shù)字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

要驗(yàn)證一個(gè)數(shù)字的確定值,看了表單驗(yàn)證文檔

size:value驗(yàn)證的字段必須具有與給定值匹配的大小。對(duì)于字符串來說,value 對(duì)應(yīng)于字符數(shù)。對(duì)于數(shù)字來說,value 對(duì)應(yīng)于給定的整數(shù)值。對(duì)于數(shù)組來說, size 對(duì)應(yīng)的是數(shù)組的 count 值。對(duì)文件來說,size 對(duì)應(yīng)的是文件大?。▎挝?kb )。

寫的驗(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);


前面這些是過濾,驗(yàn)證文件上傳的


這里動(dòng)態(tài)拼接了一個(gè)方法,通過打印得知是validateSize


然后在這個(gè)類用的 trait 中找到這個(gè)方法ValidatesAttributes::validateSize


其實(shí)這里已經(jīng)可以看到驗(yàn)證$hasNumeric


$hasNumeric里放的是這個(gè)


再看一下他是如何驗(yàn)證的



如果沒有'numeric'或者'integer'會(huì)返回 null,就會(huì)導(dǎo)致$hasNumeric等于 false

所以就不會(huì)把這個(gè)當(dāng)做數(shù)字驗(yàn)證了

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論