我需要对0到0.999之间的折扣字段接受值进行验证
喜欢:0.25,0.0125,0.09
我试过
'discount' => 'required|max:0.999'
但得到:折扣不得超过0.999个字符。
答案 0 :(得分:2)
max
规则查看发送给它的变量的类型并应用适当的逻辑。对于数字,它的工作方式与您想要的一样 - 它会比较数值。
但是对于字符串,这意味着字符串可能不会超过最大值。在你的情况下,Laravel认为你正在发送一个字符串并试图验证它。您的变量可能不是0.25
,0.5
等,而是"0.25"
,"0.5"
等。如果将它们转换为浮点数,它应该可以正常工作。< / p>
例如,如果您的值直接来自表单,则它们很可能是字符串形式,而不是浮点数。
答案 1 :(得分:0)
尺寸就是你需要的
验证字段的大小必须与给定值匹配。 对于字符串数据,value对应于字符数。对于 数值数据,值对应于给定的整数值。对于文件, size对应于以千字节为单位的文件大小。
'discount' => 'required|size:0.999'
答案 2 :(得分:-1)
'discount'=&gt; '所需|数值| MAX:0.999'