欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年07月10日 15:37:02   作者:施國鵬  
Laravel 的驗(yàn)證功能非常強(qiáng)大,基本上常見的需求都有對應(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)證的字段必須具有與給定值匹配的大小。對于字符串來說,value 對應(yīng)于字符數(shù)。對于數(shù)字來說,value 對應(yīng)于給定的整數(shù)值。對于數(shù)組來說, size 對應(yīng)的是數(shù)組的 count 值。對文件來說,size 對應(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ù),他就會直接按數(shù)字的方式驗(yàn)證,結(jié)果直接打印了錯(cuò)誤消息The age must be 9 characters.這個(gè)錯(cuò)誤消息很明顯的是提示字符串長度的,然后看了一下才發(fā)現(xiàn)還需要加上一個(gè)條件。numeric或者integer,

看源碼直接跳到\Illuminate\Validation\Validator::fails()查看驗(yàn)證


主要驗(yàn)證的方法是這個(gè)$this->validateAttribute($attribute, $rule);


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


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


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


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


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


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



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

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

總結(jié)

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

相關(guān)文章

最新評論