\App\Http\Requests\AdminTemplateEngineRequest

模板引擎请求

职责:校验模板新建/更新入参——类型/引擎/编码创建后不可修改,主题/正文/ 变量仅创建与发布可写(发布流程是唯一改线上内容入口);编码在类型 维度内唯一(store 时按 (type, code) 组合唯一)。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 校验规则 rules 分区 2 · 错误文案 messages 分区 3 · 条件校验 withValidator 分区 4 · 内部辅助 templateType └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
rules()
messages()
withValidator()
No public properties found
No constants found
statusRule()
sortRule()
remarkRule()
nameRule()
codeRule()
uniqueRule()
commonMessages()
No protected properties found
N/A
templateType()
No private properties found
N/A

Methods

rules()

rules() : array

校验规则。

意图:类型/引擎仅创建时可选、创建后 prohibited;类型白名单来自注册表 TemplateType;分类可随时调整(nullable + 白名单);编码创建后不可 修改,store 时在类型维度内唯一;主题/正文/变量仅创建可写; name/sort/status/remark 走公共规则。

Returns

array —

messages()

messages() : array

错误文案。

意图:公共字段走参数化文案,模板特有字段(类型/引擎/分类/编码/主题/正文/ 变量)补充中文提示,prohibited 字段提示走发布流程。

Returns

array —

withValidator()

withValidator(\Illuminate\Validation\Validator  $validator) : void

按请求场景附加条件校验。

意图:store 时 category/code/name/content 必填,邮件模板必填主题; 提交 vars 时逐项校验(每项必须有变量名、同清单内不重复)。

Parameters

\Illuminate\Validation\Validator $validator

statusRule()

statusRule() : string

状态规则。

生成 Laravel 规则:nullable(可空)、integer(整数)、in:0,1(仅启用/停用两态)。

Returns

string —

sortRule()

sortRule() : string

排序号规则。

生成 Laravel 规则:nullable(可空)、integer(整数,用于升序排序)。

Returns

string —

remarkRule()

remarkRule() : string

备注规则。

生成 Laravel 规则:nullable(可空)、string(字符串)、max:255(最长 255 字符)。

Returns

string —

nameRule()

nameRule(int  $max = 64) : string

名称规则。

生成 Laravel 规则:nullable(可空)、string(字符串)、max(上限按实体可配,默认 64)。

Parameters

int $max

Returns

string —

codeRule()

codeRule(int  $max = 32) : string

编码规则。

生成 Laravel 规则:nullable(可空)、string、max(可配,默认 32)、 regex(字母开头 + 字母/数字/下划线,前后端同正则)。

Parameters

int $max

Returns

string —

uniqueRule()

uniqueRule(string  $table, string  $column, ?int  $ignoreId = null, ?callable  $where = null) : \Illuminate\Validation\Rules\Unique

同表同列唯一规则。

生成 Laravel 规则:Rule::unique(table, column) 的 unique 约束;ignore 忽略 自身 id(update 场景不与自己冲突);$where 用于 (type, code) 组合唯一等场景。

Parameters

string $table
string $column
?int $ignoreId
?callable $where

Returns

\Illuminate\Validation\Rules\Unique —

commonMessages()

commonMessages(string  $entity, int  $nameMax = 64) : array

通用字段中文文案。

实体名参数化(如「岗位」→「岗位编码不能超过 32 个字符」),返回字段规则 对应的 messages 数组,供各 Request 与实体特有文案合并。

Parameters

string $entity
int $nameMax

Returns

array —

templateType()

templateType() : string

当前请求的模板类型:创建取入参(默认 email),更新取库内原值(类型不可改)。

Returns

string —