laravel Validator 数据验证

文档

https://learnku.com/docs/laravel/9.x/validation/12219

写法

use Illuminate\Support\Facades\Validator;
·
·
$validated = Validator::make(
  $request->all(),
  [
      'username' => 'bail|required|max:100|alpha_dash|unique:users',
      'password' => 'bail|required|max:100|confirmed|alpha_dash',
      'email' => 'bail|required|email|unique:users',
  ],
  [
      'required' => ':attribute 必填项',
      'max' => ':attribute 最大值为 :max',
      'confirmed' => '两个密码不一致',
      'alpha_dash' => ':attribute 只能包含字母、数字,以及破折号 (-) 和下划线 ( _ )'
  ],
  [
      'username' => '用户名',
      'password' => '密码',
      'email' => '邮箱',
  ]
);

// 数据验证失败
if ($validated->fails()) {
  return $this->callBack($validated->errors());
}

·
·

$validator = Validator::make($input, $rules, $messages, $attribute);

$input 输入内容 一般填 $request->all()

$rules 验证规则 具体规则

$messages 错误消息 一般写规则的反馈内容 如果要特定参数指定反馈加个. 如

'username.max' => '用户名最大长度为 :max',

$attribute 属性自定义名称 给各个属性返回的名称自定义 或者写语言文件lang/xx/validation.phpattributes

'attributes' => [
    'email' => 'email address',
],

表单请求验证

定义

生成表单请求类php artisan make:request 名称Request

 /**
     * 表示验证器是否应在第一个规则失败时停止。
     *
     * @var bool
     */
    protected $stopOnFirstFailure = true;

    /**
     * 确定用户是否有权提出此请求。
     *
     * @return bool
     */
    public function authorize(): bool
    {
        return true;
    }

    /**
     * 获取适用于请求的验证规则。
     *
     * @return array
     */
    public function rules(): array
    {
        return [
            '表单字段名称' => 'bail|required',
        ];
    }

    /**
     * 获取已定义验证规则的错误消息。
     *
     * @return array
     */
    public function messages(): array
    {
        return [
            'required' => ':attribute 必填',
        ];
    }

    /**
     * 获取验证错误的自定义属性
     *
     * @return array
     */
    public function attributes(): array
    {
        return [
            '字段名称' => '返回名称',
        ];
    }

使用

use App\Http\Requests\Admin\SetReleasesRequest;
*
*
public function setReleases(SetReleasesRequest $request)
{
$validated = $request->validated();
$validated['字段名称'];
}

本文链接:

https://www.antixu.com/archives/412/
1 + 8 =
快来做第一个评论的人吧~