Skip to content

验证类

验证类概述

验证类(Validate)是用于数据验证的核心组件,负责对用户输入、API请求参数等数据进行合法性校验。验证类位于MVC架构中的业务逻辑层,为控制器提供数据验证支持,确保数据的合法性、完整性和安全性。

目录结构

验证类按业务模块组织在app/validate目录下,每个业务实体对应一个验证类:

plaintext
niucloud/
├── app/
│   ├── validate/
│   │   ├── addon/           # 插件相关验证
│   │   ├── channel/         # 渠道相关验证
│   │   ├── diy/             # 自定义页面相关验证
│   │   ├── generator/       # 代码生成器相关验证
│   │   ├── member/          # 会员相关验证
│   │   ├── niucloud/        # 系统模块相关验证
│   │   ├── pay/             # 支付相关验证
│   │   ├── site/            # 站点相关验证
│   │   └── sys/             # 系统管理相关验证

所有的验证类都继承自Validate类,具体的使用请参考THINKPHP相关文档。

php
namespace app\validate\sys;

use think\Validate;

/**
 * 系统用户验证
 * Class User
 * @package app\validate\sys
 */
class User extends Validate
{

    //用户名或密码的规范可能是从数据库中获取的
    protected $rule =   [
        'username'  => 'require|unique:sys_user',
        'real_name'   => 'requireWithout:field|requireIf:field,real_name',
        'password' => 'require',
    ];

    protected $message  =   [
        'username.require' => 'validate_user.username_require',
        'username.unique' => 'validate_user.username_unique',
        'username.max'     => 'validate_user.username_max',
        'real_name.requireWithout'   => 'validate_user.real_name_require',
        'real_name.requireIf'   => 'validate_user.real_name_require',
        'password.require'  => 'validate_user.password_require',
    ];

    protected $scene = [
        'add'  =>  ['username','password'],
        'edit' => [],
        'modify' => []
    ];
}

基于 MIT 协议发布