我有一個JSON對象,它看起來像
{'field1': {'rule_name1':{'rule': rule1, 'message': message1},
{'rule_name2':{'rule': rule2, 'message': message2}},
field2: {'rule_name3':{'rule': rule3, 'message': message3},
{'rule_name4':{'rule': rule1, 'message': message1}},
{'rule_name5':{'rule': rule4, 'message': message4}}}
,或者,如果你覺得它更具可讀性
field1
rule_name1
rule: rule1
message: message1
rule_name2
rule: rule2
message: message2
field2
rule_name3
rule: rule3
message: message3
rule_name4
rule: rule1
message: message1
rule_name5
rule: rule4
message: message4
基本上,你有字段列表。在每個字段下找到規則列表,其名稱無關,並且對於每個規則名稱,您都有規則和消息。
每當我需要檢查一個字段,我找到相應的子對象。然後我迭代rule_names,對於rule_name,我得到一條規則和一條消息。該規則對應於檢查字段的方法(例如「notEmpty()」)。所以我調用該方法:如果它返回true,則將迭代傳遞到下一個rule_name。否則,我會返回消息。
然後我可以在視圖方法中使用該消息。