- 引入 CustomFunctionType 枚举,支持 Script 和 Http 两种函数类型 - 在自定义函数中添加 Http 相关字段(HttpMethod、HttpUrl、HttpHeaders、HttpBodyTemplate) - 实现 HTTP 函数执行器,支持变量替换和 SSRF 防护 - 将按钮动作链拆分为 before、main、after 三个阶段 - 新增前置和后置动作 JSON 字段存储 - 实现批量执行多个函数的 executeFunctions 动作类型 - 更新数据库迁移以支持新的字段结构 - 调整相关 DTO、命令和处理器以兼容新功能
31 lines
1.3 KiB
C#
31 lines
1.3 KiB
C#
using BuildFlow.Platform.Application.Menus.DTOs;
|
|
|
|
namespace BuildFlow.Host.Endpoints.Platform.Menus;
|
|
|
|
/// <summary>
|
|
/// 创建菜单请求校验。
|
|
/// </summary>
|
|
public class CreateMenuRequestValidator : Validator<CreateMenuRequest>
|
|
{
|
|
public CreateMenuRequestValidator()
|
|
{
|
|
// Name 可选:留空时由后端根据 Code 派生,无需用户填写。
|
|
When(x => x.Name is not null, () =>
|
|
{
|
|
RuleFor(x => x.Name!).MaximumLength(100).WithMessage("菜单路由名称长度不能超过 100 个字符");
|
|
});
|
|
RuleFor(x => x.Path).NotEmpty().WithMessage("路由路径不能为空")
|
|
.MaximumLength(200).WithMessage("路由路径长度不能超过 200 个字符");
|
|
RuleFor(x => x.Title).NotEmpty().WithMessage("菜单标题不能为空")
|
|
.MaximumLength(100).WithMessage("菜单标题长度不能超过 100 个字符");
|
|
When(x => x.Component is not null, () =>
|
|
{
|
|
RuleFor(x => x.Component!).MaximumLength(200).WithMessage("组件路径长度不能超过 200 个字符");
|
|
});
|
|
When(x => x.Authority is not null, () =>
|
|
{
|
|
RuleFor(x => x.Authority!).MaximumLength(200).WithMessage("Authority 长度不能超过 200 个字符");
|
|
});
|
|
}
|
|
}
|