Ага: как получить сообщение об ошибке после неудачной трансляции? - PullRequest
0 голосов
/ 09 мая 2020

Я использую yup для проверки, и есть этот удивительный метод cast , который я хотел бы попробовать, однако из документации не ясно, как мне получить сообщение об ошибке в случае неудача? cast либо преобразует, проверяет и возвращает результат, либо возвращает null и все. Это неприемлемо - мне также требуется сообщение об ошибке. В то же время я бы не хотел запускать его дважды, например - один раз для проверки, один раз для приведения.

1 Ответ

2 голосов
/ 09 мая 2020

cast либо преобразует, и проверяет, и возвращает результат, либо возвращает null, и это

cast НЕ validate результат - он просто его преобразует. validate(Sync)/isValid(Sync) приводит к приведению, а затем проверяет.

Если вы хотите предоставить сообщение об ошибке в определенной схеме c в случае неудачного преобразования, вы делаете это с помощью typeError

В то же время я бы не хотел запускать его дважды, например - один раз для проверки, один раз для приведения.

Как я уже сказал, методы проверки всегда сначала запускают приведение перед проверкой (если приведение не выполняется, проверка не выполняется). Если вам нужны функции приведения и проверки, вы просто вызываете методы проверки, и они возвращают результат cast (если он действителен) - вам не нужно вызывать cast, если вы ТОЛЬКО не хотите выполнить приведение (без проверки).

...