У меня есть объект 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
По сути, у вас есть список полей. Под каждым полем вы найдете список правил, имена которых не имеют значения, и для каждого имени правила у вас есть правило и сообщение.
Каждый раз, когда мне нужно проверить поле, я нахожу соответствующий подобъект. Затем я перебираю имя-правила, а для имени-правила я получаю правило и сообщение. Правило соответствует методу, который проверяет поле (например, «notEmpty ()»). Поэтому я вызываю метод: если он возвращает true, я переношу итерацию к следующему правилу. В противном случае я возвращаю сообщение.
Тогда я могу использовать сообщение так, как хочу в методе просмотра.