Formik 과 Yup ile React Form Validasyonu
5972 단어 formikjavascriptreactwebdev
İstemci tarafı form doğrulamasını yerleştirmeliyiz. Bunun nedeni, kullanıcı deneyimini ve web sitesi performansını iyileştirmesi ve arka uç sunucusuna geçersiz veri gönderilmesini engeller.
React'a Formik과 Yup Kullanarak 이메일을 사용하는 경우 , şifre 와 şifre şifre şifre şifre kalanlarına nasıl doğrulama ekleyeceğimizi anlatacağım.
Adım 1 : React projesi oluşturalım.
npx create-react-app form-validation
Adım 2 : Ardından uygulamaya formik kütüphanesini kuralım
cd form-validation
npm install formik --save
Adım 3 : Ardından uygulamamıza Yup'u dahil edelim
npm install yup --save
Adım 4: Uygulama klasörlerimiz içerisinde components isimli bir klasör daha açalım ve bunun içerisine Signup.js isimli dosya oluşturalım. Daha sonra validations.js isimli bir dosya daha oluşturalım burada form'umuz için gerekli olan validasyonları tanımlayıp Signup.js sayfamızda import edeceğiz.
Adım 5: Signup.js dosyamızda gerekli importları yapalım.
import React from "react";
import { useFormik } from "formik";
import validationSchema from "./validations";
Adım 6: 다음 useFormik ile initialValues , handleSubmit,validationSchema özelliklerini ekleyin.
const { handleChange, handleSubmit, values, handleBlur, errors, touched } =
useFormik({
initialValues: {
email: "",
password: "",
passwordConfirm: "",
},
onSubmit: (values) => {
console.log(values);
},
validationSchema,
});
Burada gördüğümüz :
validations.js import ettiğimiz isimi fark ettiyseniz useFormik içerisinde kullandığımız validationSchema ile aynı bunun nedeni eğer farklı bir isimle(validations) import etseydik useFormik içerisinde validationSchema=validations şeklinde kullanmamız gerekecekti.
Daha kolay ve pratik olması için ben böyle bir kullanıma gittim bu sizin tercihinize gore değişebilir.
Adım 7: validations.js dosyamızda artık gerekli kontrolleri yazabiliriz.
const validations = yup.object().shape({
email: yup
.string()
.email("Geçerli Bir Email Giriniz !!")
.required("Zorunlu Alan"),
password: yup.string().min(5, "En az 5 karakter giriniz !!").required(),
passwordConfirm: yup
.string()
.oneOf([yup.ref("password")])
.required(),
});
Burada 이메일은 strgin olduğunu ve geçerli bir email olup olmadığının kontrolü için yup'un email() fonk. kullanıyoruz ve son olarak zorunlu alan olduğu içinde required() kullanıyoruz.
비밀번호와 비밀번호는 문자열에서 이전 비밀번호와 최소 5개의 비밀번호를 확인하고 비밀번호를 확인하고 비밀번호를 확인하세요.
Burada parantez içerisinde yazdığım türkçe uyarılar ise yup'un bize sağladığı default errorlar haricinde kendi görmek istediğiniz errorları oluşturmanız için kullanılan alan olarak düşünebilirz.
Adım 8: Son olarak form yapımızı oluşturalım ve inputların her birine onChange eklemeyi unutmayalım.
<form onSubmit={handleSubmit}>
<label>Email</label>
<input
name="email"
value={values.email}
onChange={handleChange}
onBlur={handleBlur}
/>
{errors.email && touched.email && (
<div className="errors">{errors.email}</div>
)}
<br />
<br />
<label>Password</label>
<input
name="password"
value={values.password}
onChange={handleChange}
onBlur={handleBlur}
/>
{errors.password && touched.password && (
<div className="errors">{errors.password}</div>
)}
<br />
<br />
<label>Password Confirm</label>
<input
name="passwordConfirm"
value={values.passwordConfirm}
onChange={handleChange}
onBlur={handleBlur}
/>
{errors.passwordConfirm && touched.passwordConfirm && (
<div className="errors">{errors.passwordConfirm}</div>
)}
<br />
<br />
<button type="submit">Submit</button>
</form>
Uygulamamızda errorlar şu şekilde gözükecektir.
Uygulama Kodları: formik-yup-app
Vaktinizi ayırıp yazımı okuduğunuz için teşekkür ederim. Daha fazla bilgi için iletişime geçebilirsiniz.
Reference
이 문제에 관하여(Formik 과 Yup ile React Form Validasyonu), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/berkanyldrim/formik-ve-yup-ile-react-form-validasyonu-206o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)