用途
本技能用于将使用 Vuelidate 的表单验证迁移到 Regle。当需要迁移的表单从 @vuelidate/core、@vuelidate/validators 导入,或调用 useVuelidate 时适用。迁移需将每个表单、规则与验证属性都纳入考虑。
知识来源
按优先级顺序,可使用以下来源获取 API 细节、模式与 TypeScript 类型信息:
- Regle MCP 服务器(若可用):搜索 "Migrate from Vuelidate" 及其他主题。若未启用,可请求用户启用或自行启用。
- 同系列 Regle 技能:
- regle — useRegle、验证属性($error、$errors、$validate、$reset)、修饰符、显示错误。
- regle-rules — 内置规则、createRule、包装器(withMessage)、操作符(requiredIf、applyIf、assignIf)。
- regle-advanced — 作用域验证(useScopedRegle、useCollectScope)、集合、异步规则、服务器错误、$self。
- regle-schemas — 当表单使用 schema 时基于 schema 的验证(Zod、Valibot、ArkType)。
- regle-typescript — inferRules、为规则和 props 提供类型(RegleRoot、InferRegleRoot、SuperCompatibleRegleRoot)。
- 文档 / 面向 LLM 的参考:
- https://reglejs.dev/introduction/migrate-from-vuelidate
- https://reglejs.dev/llms.txt (术语表)
- https://reglejs.dev/llms-full.txt (完整文档)
全局规则
- Regle 中
$autoDirty默认为 true——不要设置它,并移除手动$touch()调用。 - 重命名组合式函数结果时保留变量名:Vuelidate 的
v$(或任何其他名称)变为r$,标识符保持不变。 - 将表单值绑定到 Regle 的
*.$value属性。 - 不要使用
r$.$fields.xxx;直接以r$.xxx访问字段。 - 在编写自定义规则之前,先检查是否存在等价的内置规则。
- 如果某个具体情形不清楚,请询问用户或保持原样,不要猜测。
工作流
复制以下清单并跟踪进度:
- [ ] 1. 识别 Vuelidate 表单
- [ ] 2. 替换导入
- [ ] 3. 替换状态
- [ ] 4. 替换验证规则
- [ ] 5. 替换验证属性
- [ ] 6. 替换绑定事件
- [ ] 7. 替换嵌套组件验证(作用域)
- [ ] 8. 检查表单传播(父 <-> 子)
- [ ] 9. 自查并运行类型检查 + lint
后续详细的分步操作请遵循 migration-steps 中的说明。
限制
本资料未提供更多关于平台支持、收费方式、价格或具体使用效果的信息。