虽然 gvalid 已经内置了常见的数十种校验规则,但是在部分业务场景下我们需要自定义校验规则,特别是一些可以重复使用的业务相关的校验规则。当然, gvalid 如此的强大和贴心,她已经为您考虑得如此周全。自定义校验规则可以实现灵活性强,可复用性高的校验特性。
📄️ 自定义规则-规则注册
全面讲解`GoFrame`框架`gvalid`组件的自定义校验规则注册机制,包括规则函数定义、输入参数数据结构`RuleFuncInput`和`RuleFunc`类型说明。详细介绍全局规则和局部规则两种注册方式,内置`i18n`支持。提供两个实用示例:订单ID存在性校验和用户名唯一性校验,帮助开发者实现复杂的业务校验逻辑。
📄️ 自定义规则-完整数据校验
详细讲解`GoFrame`框架`gvalid`组件如何使用自定义规则对结构体进行完整校验。通过在结构体中嵌入`g.Meta`元数据并绑定自定义校验规则名称,实现对整个结构体对象的校验。以`UserCreateReq`用户创建请求为例,展示如何注册和应用自定义校验方法,如校验用户名在数据库中的唯一性,确保数据的有效性和一致性。