feature: 如何设计一个校验器

This commit is contained in:
binpeng.liu
2023-09-13 18:22:07 +08:00
parent 0b37f97d50
commit 8ad716996f

View File

@@ -256,6 +256,16 @@ let validateType = [OrderSubmitValidator generateTypeWithParams:params];
[OrderSubmitValidator validateWith:validateType];
```
`validateWith` 方法内部根据 validateType 去组装 Map 的 key然后从 Map 中取出具体规则组合,然后依次迭代遍历执行
```
let rulesMap = {
isVIP && isCharged : [a-b-c-d],
isVIP && !isCharged: [a-b-d-c],
!isVIP: [a-c-d-b],
}
```
优点:
1. 解决了现在的错误弹窗的隐含逻辑,后续人接手,弹窗优先级清晰可见,提高可维护性,减少出错概率