laravel5.1 验证号码
laravel5.1 validate number
如何使用 laravel 验证器验证数字。在我的例子中,我需要验证数字是否在“1.00”和“50.00”之间。
作为数字对之间的分隔符“.”和“,”应该被允许。该数字应只有两位小数。有没有办法结合使用标准 laravel 验证器来完成这项工作?
使用正则表达式,正则表达式应符合以下要求:
从 0-9 开始(可能有 2 个数字)
接着是一个。或一个,
后跟 0-9(可能有 2 个数字)
或简单数字,如 1-9,不带点和逗号
总共应允许 1 到 50 之间的数字。
此正则表达式应用于预付费系统,用户应该能够在其中充值
他们的帐户从 1 到 50。因此,像 1.00 和 1,00 这样的条目应该与 1 或 2 一样有效。
50.00 是金额的最大值。最低 1.00。
您可以像这样使用正则表达式:
$rules = [
'field' => 'regex:/^\d*(\.\d{2})?$/'
];
PS:这个工具可能很有用https://regex101.com/
我将创建以下请求 class:
<?php
namespace App\Http\Requests;
class TestRequest extends Request
{
public function rules()
{
return [
'number' => [
'required',
'regex:/^\d{1,2}(\.\d{1,2})?$/',
'numeric',
'min:1',
'max:50'
],
];
}
public function authorize() {
return true;
}
public function all() {
$data = parent::all();
if (isset($data['number'])) {
$data['number'] = str_replace(',','.', $data['number']);
}
return $data;
}
}
并在 Controller 中注入此请求 class:
public function test(TestRequest $request)
{
dd($request->all());
}
这是您要查找的正则表达式:
/^((([1-4][0-9]|[1-9])([,.]\d{1,2})?)|(?:50([,.]0{1,2})?))$/
如何使用 laravel 验证器验证数字。在我的例子中,我需要验证数字是否在“1.00”和“50.00”之间。
作为数字对之间的分隔符“.”和“,”应该被允许。该数字应只有两位小数。有没有办法结合使用标准 laravel 验证器来完成这项工作?
使用正则表达式,正则表达式应符合以下要求:
从 0-9 开始(可能有 2 个数字)
接着是一个。或一个,
后跟 0-9(可能有 2 个数字)
或简单数字,如 1-9,不带点和逗号
总共应允许 1 到 50 之间的数字。 此正则表达式应用于预付费系统,用户应该能够在其中充值 他们的帐户从 1 到 50。因此,像 1.00 和 1,00 这样的条目应该与 1 或 2 一样有效。 50.00 是金额的最大值。最低 1.00。
您可以像这样使用正则表达式:
$rules = [
'field' => 'regex:/^\d*(\.\d{2})?$/'
];
PS:这个工具可能很有用https://regex101.com/
我将创建以下请求 class:
<?php
namespace App\Http\Requests;
class TestRequest extends Request
{
public function rules()
{
return [
'number' => [
'required',
'regex:/^\d{1,2}(\.\d{1,2})?$/',
'numeric',
'min:1',
'max:50'
],
];
}
public function authorize() {
return true;
}
public function all() {
$data = parent::all();
if (isset($data['number'])) {
$data['number'] = str_replace(',','.', $data['number']);
}
return $data;
}
}
并在 Controller 中注入此请求 class:
public function test(TestRequest $request)
{
dd($request->all());
}
这是您要查找的正则表达式:
/^((([1-4][0-9]|[1-9])([,.]\d{1,2})?)|(?:50([,.]0{1,2})?))$/