📅  最后修改于: 2023-12-03 15:32:37.097000             🧑  作者: Mango
在 Laravel 应用中,我们可以使用 Validator 类来验证用户的输入数据。如果我们想要验证用户输入的数据是否是一个整数,我们可以使用 integer
规则。本文将介绍如何在 Laravel 应用中使用 integer
规则来验证整数。
我们可以在 app/Http/Requests
目录下创建一个新的验证器类,例如 IntegerValidationRequest
:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class IntegerValidationRequest extends FormRequest
{
public function rules()
{
return [
'integer_field' => 'integer',
];
}
}
上面代码中的 integer_field
是我们要验证的整数字段名,integer
是 Laravel 的验证规则。这里我们仅仅使用了 integer
规则进行验证,如果需要添加其他规则,可以在 rules
方法中添加。
在控制器中接收请求数据,并且使用 Validator 类对数据进行验证。如果验证失败,返回错误信息。
<?php
namespace App\Http\Controllers;
use App\Http\Requests\IntegerValidationRequest;
use Illuminate\Http\Request;
class IntegerValidationController extends Controller
{
public function integerValidation(IntegerValidationRequest $request)
{
$validatedData = $request->validated();
return 'Your integer field is: ' . $validatedData['integer_field'];
}
}
上面代码中,integerValidation
方法中的 $validatedData
变量将包含验证通过的数据,如果验证失败,则会抛出 ValidationException
异常。错误信息将以 JSON 格式返回。
我们可以使用 Postman 来测试验证规则。发送一个 POST 请求,请求地址为 localhost:8000/api/integer-validation
,请求体中包含一个名为 integer_field
的整数字段:
{
"integer_field": 42
}
如果该整数字段符合验证规则,控制器方法将返回包含整数值的响应,如下所示:
Your integer field is: 42
如果我们发送的数据不是一个整数。控制器方法将返回包含错误信息的响应,如下所示:
{
"message": "The given data was invalid.",
"errors": {
"integer_field": [
"The integer field must be an integer."
]
}
}
在 Laravel 应用中验证整数非常简单,我们使用 integer
规则即可进行验证。如果我们需要添加其他验证规则,可以在验证器类的 rules
方法中添加。在编写控制器方法时,我们可以使用 $validatedData
变量来获取验证通过的数据,并且使用助手函数 validated
来验证数据。