You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10数值输入范围验证问题:min/max规则不符合需求

Laravel 10 非整数数值范围验证的内置解决方案

你遇到的问题是因为Laravel的min/max规则在处理字符串形式的数值时,默认会校验字符串长度而非数值大小。比如max:1会被解析为“字符长度不超过1”,所以0.3333(长度5)会验证失败。

不需要自定义规则,Laravel内置了专门针对数值范围的验证规则:

  • 使用gte和lte规则
    gte表示“大于等于”,lte表示“小于等于”,专门用于数值大小比较:
$request->validate([
    'ratio' => 'required|numeric|gte:0.01|lte:1',
]);
  • 使用between规则
    如果需要指定数值区间,between规则同样支持非整数范围:
$request->validate([
    'ratio' => 'required|numeric|between:0.01,1',
]);

这两个规则都会将输入解析为数值进行比较,提交ratio=0.3333时会正确判断其在0.01到1的区间内,验证通过。

内容的提问来源于stack exchange,提问作者jkoop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:42:05