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