关于 bitrix-validation
面向 Bitrix 开发者的验证技能,介绍如何使用框架验证 DTO 和控制器输入。内容涵盖规则、自定义验证器、版本限制,以及验证错误的传递方式。
主要功能
- 01为 DTO 定义验证规则
- 02验证控制器动作参数
- 03验证嵌套对象和集合
- 04创建自定义规则与验证器
- 05通过 Result 传递错误
适用场景
- 01验证服务中的嵌套输入
- 02为控制器参数应用规则
- 03通过服务结果返回验证错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-validation安装后在 Claude Code 中输入/bitrix-validation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/controller.mdcustom.mdrules-dto.md详细介绍
验证
基准版本:main 23.0+ · 已验证版本:main 26.800.0
整个命名空间均为 自 main 24.300 起提供。在此之前,请在服务中手动检查输入,并返回 Result 错误(bitrix-result-and-errors)。
| 任务 | 阅读 |
|---|---|
规则属性、DTO、嵌套对象、集合、组、ValidationService | rules/rules-dto.md |
控制器输入:操作参数上的规则、ValidationParameter DTO | rules/controller.md |
| 自定义规则属性和验证器、错误代码 | rules/custom.md |
不变量
- 服务:
ServiceLocator::getInstance()->get('main.validation.service'),或者在服务构造函数中使用类型提示ValidationService(无状态)。 - 不存在
.settings.php的validation部分,也不存在#[ValidationParameter]属性。 - 名称:
RegExp(不是Regex)、errorMessage(不是message)。错误没有getField():属性路径位于getCode()中(email、items.0.name)。 - 操作参数上的规则、
groups、#[Json]、#[OnlyOneOfPropertyRequired]均为 自 main 26.250* 起提供。在 25.x 上,操作参数上的规则会被静默忽略:请改为验证 DTO。 ValidationResult扩展了Result:通过服务的Result向上传递其错误,不要抛出异常。
评论
支持 Markdown