У меня довольно сложная форма с большим количеством входов и валидаторов. Для пользователя требуется довольно много времени (даже более часа), чтобы завершить это, поэтому они хотели бы сохранить черновик данных, даже если он нарушает правила, такие как обязательные поля, которые не были введены.
Я считаю, что эта проблема распространена во многих веб-приложениях, но не может найти общепризнанного шаблона, как это должно быть реализовано. Не могли бы вы посоветовать, как это достичь?
Теперь я вижу следующие параметры:
- использование функции немедленного = true на кнопке "Сохранить черновик" не работает, так как данные пользовательского интерфейса не будут храниться на bean, поэтому я не смог бы получить к нему доступ. Технически я мог найти данные в дереве компонентов пользовательского интерфейса, но обход, который, похоже, не является хорошей идеей.
- удалите все проверки полей со страницы и проверьте данные программно в прослушивателе действий, определенном для формы. Опять же, не очень хорошая идея, форма действительно сложна, есть много полей, поэтому эта проверка была бы очень грязной.
- реализовать мои собственные валидаторы, которые будут контролироваться некоторым атрибутом запроса, который будет установлен для представления стандартной формы (с полной ожидаемой валидацией) и не будет отменен для представления "сохранить как черновик" (когда валидация должна быть пропущена). Опять же, не очень хорошее решение, мне нужно будет предоставить свои собственные обертки для всех валидаторов, которые я использую.
Но, как вы видите, никто не является действительно разумным. Нет ли простого решения проблемы?