Код: Выделить всё
{
const urlRegex = /(https?:\/\/|www\.)[^\s/$.?#].[^\s]*/gi;
const descriptionInput = document.querySelector(
'textarea[name="description"], input[name="description"]'
);
if (descriptionInput && urlRegex.test(values.description)) {
descriptionInput.setCustomValidity(
'URLs are not allowed. Please enter text without links.'
);
descriptionInput.reportValidity();
setSubmitting(false);
return;
}
this.handleSubmit(values, setSubmitting, setStatus, resetForm);
}}
>
Поскольку setcustomvality требует, чтобы я вручную переводил сообщение об ошибке для нескольких языков, я бы предпочел запустить html -ошибку , что автоматически отображает на языке бруздера пользователя. />
- Использование шаблона < /code> атрибут:
Это предотвращает подачу формы, но не показывает ошибку, когда пользователь набирает URL.
Код: Выделить всё
- Настройка типа = "URL" не является вариантом, потому что я хочу urls [/b], не подтвердить их.
Любые предложения или альтернативные подходы будут оценены!>
Подробнее здесь: https://stackoverflow.com/questions/794 ... tarea-fiel