Проверка формы — важная часть любого веб-приложения. Это помогает гарантировать, что данные, введенные пользователями, являются правильными и полными. Да, это популярная библиотека проверки для Reactjs, которая позволяет легко создавать и управлять проверкой форм.

Чтобы использовать Yup, сначала необходимо установить его с помощью npm: npm install yup
После установки Yup вы можете приступить к созданию схемы проверки. Схема проверки — это объект, определяющий правила проверки данных в форме.
Например, следующая схема проверяет имя пользователя и пароль:
const schema = Yup.object().shape({
username: Yup.string().required(),
password: Yup.string().required().minLength(8),
});
Правило required() указывает, что поле является обязательным. Правило minLength() указывает, что длина поля должна быть не менее 8 символов.
Затем вы можете использовать метод validate() для проверки данных в вашей форме:
const formData = {
username: "user123",
password: "password123",
};
const errors = schema.validate(formData);
if (errors.length > 0) {
// There are errors in the form data
} else {
// The form data is valid
}
Объект errors будет содержать массив сообщений об ошибках, если данные формы недействительны.
Да, также предусмотрен ряд других правил проверки, таких как email(), url() и number(). Полный список доступных правил проверки вы можете найти в документации Yup.
Вот пример того, как использовать Yup для проверки формы, которая позволяет пользователям создавать новую учетную запись:
const schema = Yup.object().shape({
username: Yup.string().required().minLength(3).maxLength(25),
email: Yup.string().email().required(),
password: Yup.string().required().minLength(8).maxLenght(25),
});
const handleSubmit = (e) => {
e.preventDefault();
const formData = {
username: e.target.username.value,
email: e.target.email.value,
password: e.target.password.value,
};
const errors = schema.validate(formData);
if (errors.length > 0) {
// There are errors in the form data
alert(errors.join("\n"));
} else {
// The form data is valid, do something with it
}
};
const App = () => {
return (
<form onSubmit={handleSubmit}>
<input type="text" name="username" placeholder="Username" />
<input type="email" name="email" placeholder="Email" />
<input type="password" name="password" placeholder="Password" />
<button type="submit">Create Account</button>
</form>
);
};
В этом примере обработчик событий onSubmit используется для проверки данных формы, когда пользователь нажимает кнопку отправки. Если данные формы действительны, код что-то с ними делает. В противном случае отображается сообщение об ошибке.