mcpField
B
bitrix-validation

bitrix-validation

github.com/bxmaximum开发47269 次安装2 周前更新
代码仓库

关于 bitrix-validation

面向 Bitrix 开发者的验证技能,介绍如何使用框架验证 DTO 和控制器输入。内容涵盖规则、自定义验证器、版本限制,以及验证错误的传递方式。

主要功能

  1. 01为 DTO 定义验证规则
  2. 02验证控制器动作参数
  3. 03验证嵌套对象和集合
  4. 04创建自定义规则与验证器
  5. 05通过 Result 传递错误

适用场景

  1. 01验证服务中的嵌套输入
  2. 02为控制器参数应用规则
  3. 03通过服务结果返回验证错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-validation

安装后在 Claude Code 中输入/bitrix-validation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
controller.md
custom.md
rules-dto.md

详细介绍

验证

基准版本:main 23.0+ · 已验证版本:main 26.800.0

整个命名空间均为 自 main 24.300 起提供。在此之前,请在服务中手动检查输入,并返回 Result 错误(bitrix-result-and-errors)。

任务阅读
规则属性、DTO、嵌套对象、集合、组、ValidationServicerules/rules-dto.md
控制器输入:操作参数上的规则、ValidationParameter DTOrules/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