sameAs
Значение совпадает с соседним полем того же объекта. Аналог confirmed в Laravel.
Сигнатура
ts
function sameAs(field: string, msg?: Message): Action<unknown>Параметры
| Параметр | Тип | Описание |
|---|---|---|
field | string | Имя поля в том же объекте |
msg | Message | Своё сообщение об ошибке. Строка с {параметрами} или функция |
Коды ошибок
| Код | Когда | Сообщение по умолчанию |
|---|---|---|
sameAs | Значения отличаются | Must match {field} |
Тексты можно поменять: см. Сообщения и локализация.
Особенности
- Сравнивается с исходным значением поля (до
trimи других преобразований). Если поле обрезается, обрежьте и подтверждение. - Работает только внутри одного
object. Для сравнения с полями в других местах используйтеcheckиroot.
Пример
Подтверждение пароля
ts
const Signup = object({
password: pipe(string(), minLength(8)),
passwordConfirm: pipe(string(), sameAs('password', 'Пароли не совпадают')),
});См. также
- check — сравнение с другими полями