'nullable|string|min:2|max:20', 'gender' => 'nullable|integer|in:1,2', 'mobile' => [ 'nullable', 'string', 'size:11', 'regex:/^1[3-9]\d{9}$/', ], ]; // 如果提交了手机号,则验证码必填 if ($this->has('mobile')) { $rules['code'] = 'required|string|size:6'; } return $rules; } public function messages(): array { return [ 'nickname.string' => '昵称必须是字符串', 'nickname.min' => '昵称不能少于2个字符', 'nickname.max' => '昵称不能超过20个字符', 'gender.integer' => '性别必须是整数', 'gender.in' => '性别只能是1(男)或2(女)', 'mobile.size' => '手机号必须是11位', 'mobile.regex' => '手机号格式不正确', 'code.required' => '验证码不能为空', 'code.size' => '验证码必须是6位', ]; } }