mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-25 12:27:15 +00:00
feature: 如何设计一个校验器
This commit is contained in:
@@ -256,6 +256,16 @@ let validateType = [OrderSubmitValidator generateTypeWithParams:params];
|
|||||||
[OrderSubmitValidator validateWith:validateType];
|
[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. 解决了现在的错误弹窗的隐含逻辑,后续人接手,弹窗优先级清晰可见,提高可维护性,减少出错概率
|
1. 解决了现在的错误弹窗的隐含逻辑,后续人接手,弹窗优先级清晰可见,提高可维护性,减少出错概率
|
||||||
|
|||||||
Reference in New Issue
Block a user