Рубрика «валидация»

Vue3, Composition API, Typescript

Архитектура сложных форм - 1

Представим, что на сайте страховой компании нужна форма для ввода данных о транспортном средстве.
В форме есть поля: типмаркамодельномерной знак

Бизнес-логика:

Писать надо только тогда, когда не можешь не писать (С) Л.Н. Толстой

На самом деле я работал над статьей о Claude Code, но тут пальцы сами открыли ноут на начали набивать буквы. Извините!

Приквел

Начну издалека, с темы,  максимально далекой от предмета статьи. У меня есть друг, который постоянно норовит втянуть меня в свои хобби. За десятилетие я попробовал стать фанатом ножей, огнестрельного и пневматического оружия, охоты, выживания в БП, полетах на самолетах. Ни одно хобби не зашло.

Читать полностью »

Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod, для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.

Но давайте сначала рассмотрим использование стандартных инструментов библиотеки zodЧитать полностью »

Привет! Представьте ситуацию: вы нашли крутой сервис, регистрируетесь, вводите свой email my.name+coolservice@gmail.com (ведь вы, как и я, любите порядок во входящих) и… получаете ошибку «Некорректный email». Знакомо? Уверен, что да.

Каждый раз, когда я сталкиваюсь с таким, у меня дергается глаз. Это не просто мелкий баг. Это симптом глубокой проблемы в подходе к разработке и непонимания базовых стандартов. Давайте раз и навсегда разберемся, почему сервисы не принимают почту с «плюсом», почему это плохо для бизнеса и, главное, как это исправить.

Как должно работать: магия субадресации по RFC 5322Читать полностью »

Таки здравствуйте. Как вы поняли по названию, сегодня в блоге ЛАНИТ мы продолжим мучить JSON. Располагайтесь поудобнее и поехали вместе выжимать из него очередную порцию полезностей для работы.

В предыдущей статье мы использовали JSON как формат передачи данных и файл для подгрузки тестовых данных. Но это еще не все, что он может нам дать для тестирования API. И да, сегодня мы научимся использовать JSON в качестве шаблона для валидации ответов на запросы.

Читать полностью »

Как типы делают сложные задачи простыми - 1


Последнюю пару лет мой мозг программиста всё больше увлекался типами, принципами функционального программирования и Typescript. По большей мере на это повлияло огромное количество времени, потраченное мной на кодовую базу Heartbeat — фулстек-приложения из трёхсот тысяч строк на Typescript, включающего в себя веб-приложение React, мобильное приложение React Native и сервер Node.js. Мой опыт работы с этой кодовой базой показал мне, что чем больше я полагаюсь на систему типов, тем больше пользы из этого извлекаю.

Написание кода в кодовой базе, полностью сделавшей упор на типы, похоже на жульничество. Часто я могу реализовать 80% новой фичи, ни разу не запустив код. Я начинаю работать над крупным рефакторингом, требующим нарушить допущение, принятое во всём коде, но вскоре выясняю, что благодаря системе типов изменения оказываются тривиальными. Простые фичи практически кодируют себя сами, потому что опечатки мгновенно отлавливаются, а половина моего кода пишется автодополнением. На вопросы от команды техподдержки о тонкостях работы какой-то фичи можно ответить при помощи Ctrl+F в коде, даже если письменной документации почти нет. Целые категории багов, с которыми мне приходилось бороться, попросту исчезли.

Я начал называть стиль кодинга, позволяющий реализовать подобное, Type Driven Development. В статье я приведу разрозненные мысли и ссылки на ресурсы, сильно повлиявшие на то, как я понимаю type driven development.
Читать полностью »

Не нашел на просторах сети полноценного сравнения алгоритмов консенсуса, поэтому решил собрать инфу из разных источников воедино. Впереди очень много букаф технической инфы, статья не для всех, простым языком это не изложить:‑(

Всем кто остался — приятного чтения:‑)

Читать полностью »

Валидация форм во Flutter как PRO. Мастер-класс по использованию form_model и BLoC - 1

Привет, коллеги!

Хочу поделиться своим опытом работы с формами во Flutter. Каждый из нас сталкивался с задачей создания сложных форм и хочу рассказать о подходе с использованием нового пакета form_model.

Почему form_model?

  1. Читать полностью »

В Госдуме предложили запретить регистрацию на российских сайтах с помощью иностранной электронной почты. Госдума уже одобрила поправки во втором и третьем чтениях и сейчас проект рассматривается Советом Федерации.

О запрете иностранных email сервисов и переезде в RU домен - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js