Laravel验证使用"numeric"规则失败,数据以表单中的数字形式出现



我在页面中使用这种输入形式:

<input type="number" class="form-control" name="price" maxlength="4">

据我所知,我只能在此处输入一个数字,并且表单将接受一个数字,从理论上讲,将数字值发送给控制器。但是设置此验证规则:

$this->validate($request, [
    'price' => 'numeric|max:5'
]);

将使控制器不超过这一点,甚至不会丢失错误,页面被重新加载,仅此而已。当我从规则中删除"数字"时,我发现了这一切。那我在这里想念什么?数据是否从要通过测试的表格中传递?

您因验证失败而获得重定向

https://laravel.com/docs/5.4/validation#rule-size

当您将numericmax一起使用时,您会应用以下规则,该规则使用size

大小:值

验证下的字段必须具有匹配给定值的大小。 对于字符串数据,值对应于字符数。为了 数字数据,值对应于给定的整数值。为 数组,大小对应于数组的计数。为了 文件,大小对应于kilobytes的文件大小

使任何低于5的事物有效。

将规则改为

numeric|min:1|max:99999

numeric|between:1,99999

还在开发中使用诸如Debugbar之类的东西,因此您可以从错误中获取尽可能多的信息。

相关内容

最新更新