Skip to content
42 / 58

Как создать тип для валидации формата строки (email, URL)?

TypeScript не умеет валидировать содержимое строк в рантайме на уровне типов, но template literal types позволяют задать структурный шаблон строки. Для email можно описать тип вида `${string}@${string}.${string}`, а для URL `https://${string}`. Компилятор будет проверять, что строковый литерал соответствует шаблону на этапе компиляции. Для полноценной рантайм-валидации комбинируют branded types с функциями-валидаторами.

Как создать тип для валидации формата строки (email, URL)? | JScriptiser