我有一个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。否则,我会返回消息。
然后我可以在视图方法中使用该消息。