<?php
declare (strict_types = 1);

namespace app\validate;

use think\Validate;

/**
 * 角色验证器
 */
class UserRoleValidate extends Validate
{
    /**
     * 定义验证规则
     */
    protected $rule = [
        'role_name'  => 'require|max:50',
        'privileges' => 'require|array',
        'id'         => 'require|integer|gt:0',
        'merchant_id' => 'require|integer|gt:0',
    ];
    
    /**
     * 定义错误信息
     */
    protected $message = [
        'role_name.require'  => '角色名称不能为空',
        'role_name.max'      => '角色名称最多50个字符',
        'privileges.require' => '权限配置不能为空',
        'privileges.array'   => '权限配置必须是数组',
        'id.require'         => '角色ID不能为空',
        'id.integer'         => '角色ID必须是整数',
        'id.gt'              => '角色ID必须大于0',
        'merchant_id.require' => '商户ID不能为空',
        'merchant_id.integer' => '商户ID必须是整数',
        'merchant_id.gt'     => '商户ID必须大于0',
    ];
    
    /**
     * 定义验证场景
     */
    protected $scene = [
        'create' => ['role_name', 'privileges', 'merchant_id'],
    ];
}