Laravel 表单输入整数长度
Laravel form input integer length
在 Laravel 表单输入验证中,您可以指定给定输入字段的最小和最大长度。
$inputRules = [
'postCode' => 'min:3|max:8'
];
验证结果
- 'BA45TZ' =
true
- 'FF' =
false
- 'GH22 55XYZ' =
false
但是,如果我对数字执行相同的操作,它将验证输入是小于还是大于输入,然后 return 就可以了。
$inputRules = [
'cv2' => 'min:3|max:4'
];
验证结果
- '586' =
false
- '4' =
true
- '2' =
false
- '3' =
true
我实际上想验证一个数字 长度 而不是它的数值。我不知道该怎么做。 Google 没有任何帮助,或者我没有找到正确的东西。
有人有这方面的经验吗?
编辑:我已经回答了我自己的问题。我错过了 Laravels digits_between
.
这是 Laravel 的 size
、min
和 max
验证的预期行为。你不能改变它。
For string data, value corresponds to the number of characters. For numeric data, value corresponds to a given integer value. For files, size corresponds to the file size in kilobytes.
要解决这个问题,您必须创建一个 custom validation rule。
像这样:
Validator::extend('min_length', function($attribute, $value, $parameters){
return strlen($value) >= $parameters[0];
});
Validator::extend('max_length', function($attribute, $value, $parameters){
return strlen($value) <= $parameters[0];
});
你可以用同样的方式使用它们:
'cv2' => 'min_length:3|max_length:4'
对于数字的长度,您必须使用大小,但不能在其中输入范围。因此,最好的办法是进行自定义验证。
这是 laravel 中的文档:http://laravel.com/docs/5.0/validation#custom-validation-rules
还有一个例子:
Validator::extend('minsize', function($attribute, $value, $parameters)
{
return strlen($value) >= $parameters[0];
});
对 maxsize 做同样的事情。
像个白痴一样,我错过了 Laravels digits_between
验证器规则。我发誓我已经仔细检查了这些规则,但我们到了。
谢谢大家的帮助。
$inputRules = [
'cv2' => 'required|numeric|digits_between:3,4'
];
在 Laravel 表单输入验证中,您可以指定给定输入字段的最小和最大长度。
$inputRules = [
'postCode' => 'min:3|max:8'
];
验证结果
- 'BA45TZ' =
true
- 'FF' =
false
- 'GH22 55XYZ' =
false
但是,如果我对数字执行相同的操作,它将验证输入是小于还是大于输入,然后 return 就可以了。
$inputRules = [
'cv2' => 'min:3|max:4'
];
验证结果
- '586' =
false
- '4' =
true
- '2' =
false
- '3' =
true
我实际上想验证一个数字 长度 而不是它的数值。我不知道该怎么做。 Google 没有任何帮助,或者我没有找到正确的东西。
有人有这方面的经验吗?
编辑:我已经回答了我自己的问题。我错过了 Laravels digits_between
.
这是 Laravel 的 size
、min
和 max
验证的预期行为。你不能改变它。
For string data, value corresponds to the number of characters. For numeric data, value corresponds to a given integer value. For files, size corresponds to the file size in kilobytes.
要解决这个问题,您必须创建一个 custom validation rule。 像这样:
Validator::extend('min_length', function($attribute, $value, $parameters){
return strlen($value) >= $parameters[0];
});
Validator::extend('max_length', function($attribute, $value, $parameters){
return strlen($value) <= $parameters[0];
});
你可以用同样的方式使用它们:
'cv2' => 'min_length:3|max_length:4'
对于数字的长度,您必须使用大小,但不能在其中输入范围。因此,最好的办法是进行自定义验证。 这是 laravel 中的文档:http://laravel.com/docs/5.0/validation#custom-validation-rules
还有一个例子:
Validator::extend('minsize', function($attribute, $value, $parameters)
{
return strlen($value) >= $parameters[0];
});
对 maxsize 做同样的事情。
像个白痴一样,我错过了 Laravels digits_between
验证器规则。我发誓我已经仔细检查了这些规则,但我们到了。
谢谢大家的帮助。
$inputRules = [
'cv2' => 'required|numeric|digits_between:3,4'
];