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