ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

hyperf 验证器

2021-09-23 16:02:58  阅读:334  来源: 互联网

标签:index php 验证 hyperf translation password class


安装validation

composer require hyperf/validation

安装translation

composer require hyperf/translation

生成translation配置文件

php bin/hyperf.php vendor:publish hyperf/translation

生成validation配置文件

php bin/hyperf.php vendor:publish hyperf/validation

生成验证器LoginRequest

php bin/hyperf.php gen:request LoginRequest

控制器 app/Controller/IndexController.php

<?php
namespace App\Controller;

use Hyperf\HttpServer\Annotation\AutoController;
use App\Request\LoginRequest;

/**
 * @AutoController();
 */
class IndexController
{
        public function index(LoginRequest $request){
                $validateData = $request->validated();
                return $validateData;
        }
}

验证器添加规则 app/Request/LoginRequest.php

<?php

declare(strict_types=1);

namespace App\Request;

use Hyperf\Validation\Request\FormRequest;

class LoginRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     */
    public function authorize(): bool
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     */
    public function rules(): array
    {
        return [
                'name'=>'required',
                'password'=>'required'
        ];
    }
}

添加验证器中间件

<?php

declare(strict_types=1);

return [
        'http' => [
                \Hyperf\Validation\Middleware\ValidationMiddleware::class
    ],
];

添加异常处理器

<?php

declare(strict_types=1);

return [
    'handler' => [
        'http' => [
            Hyperf\HttpServer\Exception\Handler\HttpExceptionHandler::class,
            App\Exception\Handler\AppExceptionHandler::class,
            Hyperf\Validation\ValidationExceptionHandler::class
        ],
    ],
];

测试1

curl 118.195.173.53:9501/index/index
name 字段是必须的

测试2

curl 118.195.173.53:9501/index/index?name=huyongjian
password 字段是必须

测试3

curl 118.195.173.53:9501/index/index?name=huyongjian\&password=123456
{
    "name": "huyongjian",
    "password": "123456"
}

标签:index,php,验证,hyperf,translation,password,class
来源: https://www.cnblogs.com/hu308830232/p/15324575.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有