\App\Http\HelpersValidationRules

全站共享校验规则

职责:手机号/用户名正则与密码最小长度常量化,模板变量清单校验单源—— Request 与 Service 行级校验同源,防各写各的正则导致分叉。

Summary

Methods
Properties
Constants
usernameRule()
passwordMinRule()
passwordRule()
passwordMinMessage()
captchaRules()
captchaMessages()
emailRule()
searchRule()
dictValueRule()
applyStoreUpdateUnique()
addVarsChecks()
No public properties found
PHONE
USERNAME_MIN_DEFAULT
USERNAME_MAX_DEFAULT
PASSWORD_MIN_DEFAULT
PASSWORD_MAX_DEFAULT
EMAIL_MAX_DEFAULT
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

PHONE

PHONE = '/^1[3-9]\\d{9}$/'

手机号(中国大陆 1 开头 11 位)

USERNAME_MIN_DEFAULT

USERNAME_MIN_DEFAULT = 3

用户名长度内置默认(SECURITY 配置 auth.username_min/max_length 缺失时回落)

USERNAME_MAX_DEFAULT

USERNAME_MAX_DEFAULT = 20

PASSWORD_MIN_DEFAULT

PASSWORD_MIN_DEFAULT = 6

密码最小长度内置默认(SECURITY 配置 auth.password_min_length 缺失时回落)

PASSWORD_MAX_DEFAULT

PASSWORD_MAX_DEFAULT = 128

密码最大长度内置默认(SECURITY 配置 auth.password_max_length 缺失时回落)

EMAIL_MAX_DEFAULT

EMAIL_MAX_DEFAULT = 64

邮箱长度内置默认(SECURITY 配置 auth.email_max_length 缺失时回落)

Methods

usernameRule()

usernameRule() : string

用户名规则(配置驱动单源):3-20 位字母/数字/下划线, 长度边界读 auth.username_min_length/max_length。

Returns

string —

passwordMinRule()

passwordMinRule() : string

密码最小长度规则段(配置驱动单源:登录/注册/重置/用户表单四处同源)

Returns

string —

passwordRule()

passwordRule(string  $prefix = 'required') : string

密码字段规则(单源:登录/注册/重置/改密/用户表单共用;prefix 可传 nullable;上限读配置)

Parameters

string $prefix

Returns

string —

passwordMinMessage()

passwordMinMessage(string  $label = '密码') : string

密码下限文案(单源:与 passwordMinRule 同配置驱动;label 传「新密码」等场景名)

Parameters

string $label

Returns

string —

captchaRules()

captchaRules() : array<string,string>

点选验证码字段规则(单源:登录/注册/找回三处同构)。

Returns

array

captchaMessages()

captchaMessages() : array

点选验证码错误文案(单源:与 captchaRules 配套)

Returns

array —

emailRule()

emailRule(string  $prefix = 'required') : string

邮箱字段规则(单源:认证域多处同构;长度上限读配置 auth.email_max_length)

Parameters

string $prefix

Returns

string —

searchRule()

searchRule(int  $max = 64) : string

列表搜索参数规则(单源:日志/列表 IndexRequest 同构)

Parameters

int $max

Returns

string —

dictValueRule()

dictValueRule(string  $typeCode, string  $prefix = 'nullable') : array

字典值校验规则(单源:业务选择项必须字典驱动——前端已字典化的下拉/分段, 后端校验必须读同一字典,禁止硬编码枚举白名单造成双源漂移)。

校验语义:值为该字典类型(type_code)的启用词条(status=1)的 value。

Parameters

string $typeCode

字典类型编码(td_sys_dict_type.code)

string $prefix

前置规则(默认 nullable;必填传 'required')

Returns

array —

applyStoreUpdateUnique()

applyStoreUpdateUnique(\Illuminate\Validation\Validator  $validator, string  $field, string  $table, string  $column, ?int  $ignoreId, bool  $required = false, ?callable  $when = null) : void

store/update「唯一忽略自身」块(单源:配置/角色/岗位/公司/字典/用户六处同构)。 store 传 $ignoreId=null 即纯唯一;update 传当前行 id 忽略自身。 $when 缺省恒真;MaintainCompany/UserConfig 的多字段唯一可多次调用。

Parameters

\Illuminate\Validation\Validator $validator
string $field
string $table
string $column
?int $ignoreId
bool $required
?callable $when

addVarsChecks()

addVarsChecks(\Illuminate\Validation\Validator  $validator, mixed  $vars) : void

模板变量清单校验(单源):每项必须有变量名、同清单内不重复 (TemplateEngineRequest 创建 与 TemplatePublishRequest 发布 共用)。

Parameters

\Illuminate\Validation\Validator $validator
mixed $vars