LIVR v2.5 з асинхронною валідацією
Багато років тому я шукав валідатор, який буде вміти наступне:
1. Декларативний опис валідації
2. Мати можливість валідувати ієрархічні структури.
3. Не зупиняти валідацію на першій помилці, а перевіряти всі поля й повертати інформацію о помилці в структурованому вигляді.
4. Видаляти поля, для який не описані правила валідації
5. Можливість легко додавати свої правила валідації
6. Бути мінімалістичним й не робити зайвого (як генерація форм й тд).
7. Мати фільтри, для зміни даних.
8. Серіалізація правил валідації (можливість зберегти правила валідації в файл, в базу, передати по мережі).
9. Має реалізацію під різні мови програмування й сумісний не тільки по правилам, а й по формату опису помилок.
Я на той час перепробував багато валідаторів й були цікаві, але у кожного була якась проблема. Тому я написав спеціфікацію https://livr-spec.org/ з тест кейсами (а тестів там багато), а потім вже почали з'явлитися імплементації під різні мови.
В деталях про все можна почитати в цьому пості - "LIVR – Data Validation Without Any Issues"
JavaScript версія має ще декілька особливостей:
✅ Ніяких зовнішних залежностей
✅ Працює в в NodeJs й в браузері
✅ Validator (без правил) менше 1KB (min+gzip)
✅ Validator з усіма правилами 3.93KB (min+gzip)
✅ Є додатковий пакет правил - livr-extra-rules
Не вистачало тільки асинхронної валідації й сьогодні додав й її (в доках - AsyncValidator).
ПОСИЛАННЯ НА NPM: https://www.npmjs.com/package/livr
Post #218
4.03K
- 👍 39
- 🔥 16
- ⚡ 2