Кастомные валидаторы
Если стандартных проверок недостаточно, создайте собственный валидатор. Достаточно объявить тип с методамиValidate(string) error и Description() string.
Пошаговый пример
Допустим, нужно проверить SKU видаCAT-000123:
Сообщения об ошибках
Validate— короткое сообщение о проблеме (например, «Нужен чётный номер»).Description— общие требования. Ziva показывает его под полем ввода, чтобы пользователь сразу видел формат.
Повторное использование
Сложные правила можно собрать из нескольких валидаторов:Валидация с внешними сервисами
Если проверка требует обращения к API или базе данных, используйтеFuncTask сразу после InputTask:
Советы
- Старайтесь писать позитивные подсказки: «Используйте формат AAA-000000», а не «Нельзя вводить …».
- Если правило длинное, выводите краткое сообщение в
Validate, а подробности — вDescription. - Используйте
WithAllowEmpty(true)вместе с кастомными валидаторами, если поле не обязательно. - Покрывайте критичные правила юнит-тестами — валидатор это обычный Go-код.