Система валидации
Ziva выполняет проверку пользовательского ввода непосредственно вInputTask
. Как только пользователь нажимает Enter, задача вызывает валидатор и, при необходимости, возвращает сообщение об ошибке прямо в интерфейс.
Базовое использование
Что такое валидатор
Валидатор — это значение с двумя методами:Подключение встроенных валидаторов
Опциональные поля
Если значение может быть пустым:WithAllowEmpty(true)
с валидатором, который корректно обрабатывает пустую строку (например, OptionalEmail()
).
Кастомные валидаторы
Несколько проверок подряд
Часто нужно объединять условия:compositeValidator
— удобная обёртка (см. пример в разделе встроенных валидаторов). Можно написать свою, чтобы красиво объединять сообщения об ошибках.
Обработка результата после очереди
Даже если поле прошло валидацию, дополнительно проверяйте его послеqueue.Run()
— особенно если требуется обращение к внешним сервисам или БД.
Лучшие практики
- Формулируйте сообщения об ошибке так, чтобы пользователь понимал, как исправить ввод.
- Для сложных правил описывайте требования через
Description()
— Ziva покажет их как подсказку. - Комбинируйте InputTask с FuncTask, если нужно выполнить длительную проверку (например, запрос к API) и показать подробный результат.
- Учитывайте локаль: если используете числа, не забудьте обрезать пробелы и заменить запятые на точки (в случае необходимости — сделайте собственный валидатор).