У меня есть проект Rails, где, как и в большинстве приложений, у нас есть ряд жестких правил проверки, которым должны соответствовать все объекты до их сохранения. Естественно, ActiveModel Validations идеально подходят для этого - мы используем комбинацию значений по умолчанию Rails и наших собственных ручных проверок.
Все больше и больше, тем не менее, мы сталкиваемся с ситуациями, когда мы хотели бы предупредить пользователя о случаях, когда, хотя их данные не являются недействительными в строгом смысле, есть элементы, которые они должны рассмотреть, но которые сами по себе не должны препятствовать сохранению записи. Несколько примеров, с верхней части головы:
- Заголовок публикации был отправлен во ВСЕХ CAPS, которые могут быть действительными, но, вероятно, не являются
- Кусок текстового текста больше, чем x количество слов меньше или больше, чем предполагаемое количество слов
Модуль валидации является такой хорошей метафорой, что мы рассматриваем ошибки проверки - и так много уже доступных сокетов, - что в идеале я хотел бы использовать этот базовый код, но для создания коллекции warnings
предметы вместе с errors
. Это позволило бы нам осветить эти случаи по-разному нашим пользователям, вместо того, чтобы подразумевать, что возможные нарушения стиля дома эквивалентны более вопиющим, строго соблюдаемым правилам.
Я посмотрел на драгоценные камни, такие как activemodel-warnings, но они работают, изменяя, какие проверки проверяются, когда запись проверена, расширяется или уменьшается errors
сбор соответственно. Точно так же я посмотрел на встроенный параметр :on
для проверки, чтобы увидеть, могу ли я что-то вручную отбросить, но снова все нарушения попадут в коллекцию ошибок, а не будут выделены.
Кто-нибудь пробовал что-то подобное? Я не могу себе представить, что я единственный, кто хотел бы достичь этой цели, но сейчас я рисую пустоту...