初始化本地仓库
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\api\validate\auth;
|
||||
|
||||
use app\model\member\Member;
|
||||
use core\base\BaseValidate;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
/**
|
||||
* 用户注册参数验证器
|
||||
*/
|
||||
class RegisterValidate extends BaseValidate
|
||||
{
|
||||
/**
|
||||
* 验证规则 - 使用方法定义,支持动态规则
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
// 获取路由参数ID(更新场景时用于排除唯一验证)
|
||||
$id = request()->route->param('id');
|
||||
|
||||
return [
|
||||
'username' => [
|
||||
'required',
|
||||
'min:3',
|
||||
'max:50',
|
||||
'alpha_dash',
|
||||
Rule::unique(Member::class, 'username')->ignore($id ?? null, 'id'),
|
||||
],
|
||||
'password' => 'required|min:6|max:32|confirmed:confirm_password',
|
||||
'email' => [
|
||||
'required',
|
||||
'email',
|
||||
Rule::unique(Member::class, 'email')->ignore($id ?? null, 'id'),
|
||||
],
|
||||
'mobile' => [
|
||||
'sometimes',
|
||||
'regex:/^1[3-9]\d{9}$/',
|
||||
Rule::unique(Member::class, 'mobile')->ignore($id ?? null, 'id'),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证提示信息
|
||||
*/
|
||||
protected array $message = [
|
||||
'username.required' => '用户名不能为空',
|
||||
'username.min' => '用户名长度不能少于3个字符',
|
||||
'username.max' => '用户名长度不能超过50个字符',
|
||||
'username.alpha_dash' => '用户名只能包含字母、数字、下划线和破折号',
|
||||
'username.unique' => '用户名已存在',
|
||||
'password.required' => '密码不能为空',
|
||||
'password.min' => '密码长度不能少于6个字符',
|
||||
'password.max' => '密码长度不能超过32个字符',
|
||||
'password.confirmed' => '两次输入的密码不一致',
|
||||
'email.email' => '邮箱格式不正确',
|
||||
'email.unique' => '邮箱已存在',
|
||||
'mobile.regex' => '手机号格式不正确',
|
||||
'mobile.unique' => '手机号已存在',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected array $scene = [
|
||||
'register' => ['username', 'password', 'email', 'mobile'],
|
||||
'quick_register' => ['username', 'password'],
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user