Ale*_*abe 7 php forms validation laravel
在Laravel表单输入验证中,您可以指定给定输入字段的最小和最大长度.
$inputRules = [
'postCode' => 'min:3|max:8'
];
Run Code Online (Sandbox Code Playgroud)
truefalsefalse但是,如果我对一个数字做同样的事情,它将验证输入是否小于或大于输入,然后返回.
$inputRules = [
'cv2' => 'min:3|max:4'
];
Run Code Online (Sandbox Code Playgroud)
falsetruefalsetrue我实际上想要验证数字长度而不是它的数值.我无法弄清楚如何做到这一点.谷歌一直没有帮助,或者我没有找到正确的事情.
有人有这方面的经验吗?
编辑:我已经回答了我自己的问题.我错过了Laravels digits_between.
Ale*_*abe 13
就像一个白痴,我错过了Laravels digits_between验证规则.我发誓我已经扫过这些规则了,但我们在这里.
感谢大家的帮助.
$inputRules = [
'cv2' => 'required|numeric|digits_between:3,4'
];
Run Code Online (Sandbox Code Playgroud)
这是Laravel的的预期行为size,min并max验证.你无法改变它.
对于字符串数据,value对应于字符数.对于数字数据,value对应于给定的整数值.对于文件,size对应于文件大小(以KB为单位).
要解决此问题,您必须创建自定义验证规则.像这样的东西:
Validator::extend('min_length', function($attribute, $value, $parameters){
return strlen($value) >= $parameters[0];
});
Validator::extend('max_length', function($attribute, $value, $parameters){
return strlen($value) <= $parameters[0];
});
Run Code Online (Sandbox Code Playgroud)
你可以用同样的方式使用它们:
'cv2' => 'min_length:3|max_length:4'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10634 次 |
| 最近记录: |