Да, проверка веб-сайта с использованием url () очень строгая - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь проверить поле ввода как веб-сайт, используя

yup.string().url()

Но кажется, что если протокол не отправляется, он дает ошибку, когда веб-сайт должен быть гибким, например, даже для принятия stackoverflow.com

пожалуйста, помогите

1 Ответ

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

Вместо использования валидатора по умолчанию url вы можете использовать свой собственный regex. Ваш код изменится, например:

website: Yup.string()
        .matches(
            /^((https?):\/\/)?(www.)?[a-z0-9]+(\.[a-z]{2,}){1,3}(#?\/?[a-zA-Z0-9#]+)*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/,
            'Enter correct url!'
        )
        .required('Please enter website'),

Вы можете использовать собственное правило для regex и проверить URL. Подробнее об этом можно прочитать там .

...