我很好奇laravel如何验证数字,我有这个代码:
$valid = \Validator::make(['lat' => '2.3711025426955', 'lng' => '99.0805054179688'], [
'lat' => 'required_with:lng|digits_between:1,15',
'lng' => 'required_with:lat|digits_between:1,15',
]);
dd($valid->fails());
无效,如果我们的数字没有引号,它就会起作用。但是,无论输入字段的输入类型是通过html表单传递lat
和long
。因此认为字符串无效。我尝试dd($request->all()
,输出如下:
array:2[
"lat" => "2.3711025426955"
"lng" => "99.0805054179688"
]
我使用以下形式传递它:
<input type="text" name="lat">
<input type="number" name="lat">
两者都不起作用,有点麻烦,我只在后端工作,但意识到这个问题搞乱了。
无论如何,我正在使用 Laravel 5.1.26 ,希望有人对此有所了解 - 以前我很确定它甚至可以用引号工作。
不确定,有什么不对,但laravel uses php function is_numeric
但不知何故不能将我的输入(带引号)识别为数字。
修改以澄清,我收到此错误:
The lat must be between 1 and 15 digits.
我会说,这有点奇怪。奇怪的是is_numeric('2.3711025426955')
实际上是正确识别我的数字。现在我更加困惑了。