使用Laravel 4的浮动使用哪个验证规则?

Isa*_*ias 9 php validation laravel

我有一个带有两个文本输入的表单,必须是浮点数(具体来说,这些文本输入是用于geographic coordinates),查看文档并找到规则integer,numeric但不是float.

我正在考虑使用"数字",因为文本输入被禁用,并且值仅在移动地图上的标记时更改.

什么是验证浮动的最佳方法?

The*_*pha 10

你可以使用正则表达式规则(regex:pattern),因为你想用来验证Geographic Coordinates然后你应该使用正则表达式规则,因为它Geo Coord可能看起来像是23.710085, 90.406966坐标(lat long),Dhaka Bangladesh它也可能包含坐标喜欢-33.805789,151.002060.所以这是语法:

$rules = array('form_field_name' => 'required|regex:pattern' );
Run Code Online (Sandbox Code Playgroud)

或许只是

$rules = array('form_field_name' => 'regex:pattern' );
Run Code Online (Sandbox Code Playgroud)

所以,模式应该是这样的/^[+-]?\d+\.\d+, ?[+-]?\d+\.\d+$/.所以,最后,它应该看起来像这样(pattern is copied from internet):

$rules = array('form_field_name' => 'regex:/^[+-]?\d+\.\d+, ?[+-]?\d+\.\d+$/');
Run Code Online (Sandbox Code Playgroud)

检查Laravel验证(正则表达式).

  • 我认为正则表达式是我将要学习的下一件事,它们似乎非常有用. (2认同)

Kem*_*lah 9

numeric规则可用于此,因为它使用is_numeric()函数来测试值.虽然,通常你会想要使用该is_float()函数的东西,但是因为表单输入是表单或字符串,所以is_numeric()应该使用它.以下是来自is_floatPHP文档的引用:

要测试变量是数字还是数字字符串(例如表单输入,始终是字符串),必须使用is_numeric().