React Forms Full Tutorial - Validation, React-Hook-Form, Yup

Поділитися
Вставка
  • Опубліковано 12 вер 2024

КОМЕНТАРІ • 165

  • @monikabhardwaj9105
    @monikabhardwaj9105 3 роки тому +8

    A very good tutorial. Because of the new version release there are few changes that we have to do.
    1. Error is now a part of formState so use it like below instead of const{register, handleSubmit,errors}
    const{register,handleSubmit,formState: { errors }} =useForm({
    resolver:yupResolver(schema),
    });
    2. replace ref={register} to {...register("phone_number")} , replace "phone_number" with the name of your field.

  • @gotemperory4278
    @gotemperory4278 3 роки тому +54

    what worked for me is:
    const { register, handleSubmit, formState: { errors } } = useForm({
    resolver: yupResolver(schema),
    });
    instead of
    const { register, handleSubmit, errors } = useForm({
    resolver: yupResolver(schema),
    });
    and
    {...register('password')}
    instead of
    ref={register}

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +4

      Appreciate it! This is the new updated version!

    • @hmsm5701
      @hmsm5701 3 роки тому

      thanks a lot

    • @akhiltheloquacioussoul
      @akhiltheloquacioussoul 3 роки тому

      Thank you so much :)

    • @andriitsvirko7296
      @andriitsvirko7296 3 роки тому

      thanks a lot!!!!!!!!!!!!!!

    • @TheRonron1994
      @TheRonron1994 2 роки тому

      I'm getting this error instead
      Error: Function components cannot have string refs. We recommend using useRef() instead.

  • @df15804
    @df15804 3 роки тому +23

    It is amazing to see this kind of content coming from a Brazilian guy, thank you there

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +10

      Hahaha thank you so much! Brazil needs to grow in the programming community!

  • @guythomas5391
    @guythomas5391 2 роки тому +8

    This is an excellent tutorial, thank you! One small criticism - it's not good practice to rely solely on front end validation, so I would revise the comment in this video "You can safely make a fetch request... and it should be completely safe because you're only submitting the data if it passes through the layer of validation". Someone could easily craft a request via postman or something and submit direct to your server. Always employ server validation.

  • @fancyAlex1993
    @fancyAlex1993 3 роки тому +2

    In v7, it should be like this , replace ref with an obj like this

    {errors.firstName?.message}
    Thank you for this tutorial. I was getting tired reading the react-hook-form documentation.

    • @ak2000_
      @ak2000_ 2 роки тому

      TypeError: Cannot read properties of undefined (reading 'firstName')

  • @linmus2370
    @linmus2370 3 роки тому +3

    You're so badass! I'll go out on limb and say that your channel is gonna have millions of subscribers. I do have a feeling of that. The efforts you're exerting into the videos you're cranking out are gonna pay off. It's a top-tier channel. You're freaking killing it. Love from the US.

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому

      Hahaha I love this kind of comments! Thank you so much! I really appreciate the support!

  • @ayushdedhia25
    @ayushdedhia25 3 роки тому +6

    Your tutorials are just amazing and easy to grasp the concept ❤️🔥

  • @mpv756
    @mpv756 2 роки тому +1

    Great video! I'm just learning react. The course I was taking used redux-form \ redux. I was trying to do the right thing (I think) and make a radio button it's own component so it could be shared in any form. It was a nightmare because of all the state management between components. I never did get it to work. So I was ready to try something new, even if I can't make the radio button it's own component (I'm sure you can). A google search of what are the best libraries for forms got me to react-hook-forms, which led me here. Thank you so much for showing everything from beginning to end. Very helpful and useful.

  • @anikinae
    @anikinae 2 роки тому

    perfect speach (not too slowly and not too fast) - thank you so much, it's very useful!

  • @Mahdi-lz9wu
    @Mahdi-lz9wu 3 роки тому

    thank you, buddy,
    find a good solution after 3 days of struggling with form and validation.
    just react-hook-from had changed to version 7 and it needs some small change but this tutorial is absolutely brilliant.

  • @andrscrrn
    @andrscrrn 2 роки тому +1

    Very clear explanantion! Thanks Pedro!

  • @Trzimajewski
    @Trzimajewski 2 роки тому +3

    Mano, ótimo conteúdo, parabéns.
    Muito bom saber que existe conteúdo de qualidade assim e que é brasileiro que faz, te desejo muito sucesso.

  • @perfectionist2518
    @perfectionist2518 Рік тому

    mate, you got a talent! thank you, it was simple and clear

  • @bluebill1049
    @bluebill1049 3 роки тому +2

    Thank you very much for putting up this video tutorial!

  • @dennisbelio6470
    @dennisbelio6470 3 роки тому +1

    Thank you PedroTech for this wonderful resource!

  • @harshitverma4480
    @harshitverma4480 2 роки тому

    Very clear n concise explanation.

    • @vinayr6232
      @vinayr6232 2 роки тому

      Hey Harshit!
      Glad you liked the video.....would you be interested in exploring opportunities in web development?

  • @junjietan2668
    @junjietan2668 3 роки тому +2

    Keep on going Pedro, your videos helps me a lot. Appreciate your hard work!

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +1

      Happy to hear that! This comments motivate me a lot!

    • @junjietan2668
      @junjietan2668 3 роки тому

      @@PedroTechnologies no worry pedro. Meanwhile, i have a barrier after working on the form. it is working fine in the form validation. however comes to form submission, the function was not working even though the password is matched. I noticed if i have remove the resolver from useform, it is working fine as the console will printed out the outcomes however the password and Cpassword have no validation. then, if i implment the resolver onsubmit function does not fire up at all. What's the problem? Many thanks.

    • @muradjadoon619
      @muradjadoon619 Рік тому

      @@PedroTechnologies I like your videos

  • @jenslegrou
    @jenslegrou 3 роки тому +2

    This is gold. Thank you so much!

  • @mohamedabdulqadir2917
    @mohamedabdulqadir2917 3 роки тому +1

    Your tutorials really amazing, thank you Pedro

  • @DimmuBorgiry
    @DimmuBorgiry 2 роки тому

    thanks my friend, it was really a helpful video for me to get into react hook forms. keep up the good work

  • @thiagoleobons390
    @thiagoleobons390 3 роки тому +3

    Maneiro o canal cara. Parabens!

  • @Jiji-lo3zs
    @Jiji-lo3zs Рік тому

    I finally understood react-hook-forms. Thankyou 🙂

  • @safintheship
    @safintheship 2 роки тому +1

    thank you so much dude

  • @AnthonyCandaele
    @AnthonyCandaele 2 роки тому

    Thanks for this video, the combination of react-hook-form and yup is just what I need for the form validation in my next project.

  • @CarlWicker
    @CarlWicker 2 роки тому

    THanks for this, great tutorial.

  • @iqra.manzoor4222
    @iqra.manzoor4222 2 роки тому +3

    I am using the same code with react version 18.1.0.But it is not working, browser is displaying white screen.How can I resolve this issue?

  • @wilhelm.reeves
    @wilhelm.reeves 2 роки тому

    Your videos are very easy to follow.
    Thank you 🥂

  • @anmolgarg7038
    @anmolgarg7038 Рік тому

    Amazing tutorial, really well described. Loved it .

  • @deepalakshmip5520
    @deepalakshmip5520 2 роки тому

    Very clean ...Superb

  • @antenehyehalem5963
    @antenehyehalem5963 3 роки тому +2

    heyy another awesome video from hero keep doing it

  • @marimuthur9456
    @marimuthur9456 2 роки тому

    Extraordinary explanation thank you so much for your knowledge sharing 😊👌🏼🙏🏼 try to post the video how to bind the form data back to the input fields using yup

  • @sinaukode
    @sinaukode 3 роки тому

    Thanks, it's really helpful for me who just started to learn react stuff

  • @skverskk
    @skverskk 2 роки тому

    Well done and easy to understand. Thx

  • @marbot9780
    @marbot9780 2 роки тому +1

    Hello Pedro,
    I am a big fan of your videos here!
    Thanks for this one - it is amazing!
    Could you please also show how to split the form here into a multi-form (at least 3 input steps) and everything then still works - including validation!?
    That you can e.g. only jump on if everything is correct and that you don't lose any values when jumping back!
    There are already videos about it - but they are all incomplete or incorrect!
    Thanks in advance!
    Best regards
    Markus

  • @ThColinPereira
    @ThColinPereira 3 роки тому

    This helped me a lot, thanks Pedro!

  • @kasiakordys266
    @kasiakordys266 2 роки тому

    great tutorial! Thank you a lot

  • @caikhenrik10
    @caikhenrik10 3 роки тому +3

    Pedro, muito bom vídeo! Mais um inscrito pra ti...
    Uma sugestão pro próximo vídeo, fazer validação de arquivos com o yup e react hook form... verificar se o arquivo é muito longo, formato, etc... Ajudaria bastante! Top

    • @caikhenrik10
      @caikhenrik10 3 роки тому +1

      No caso upload de arquivos*

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +2

      Obrigado! Você quer dizer validar arquivos que sao uploaded?

    • @caikhenrik10
      @caikhenrik10 3 роки тому +1

      @@PedroTechnologies isso! Por exemplo validar se o arquivo é uma imagem, e se a imagem não excede determinada altura e largura por exemplo, seria top!

  • @adennis200
    @adennis200 3 роки тому +3

    Not gonna watch it right now cause no time but I'm gonna like it in advance

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +1

      Hahaha this makes me happy! Really appreciate the support!

  • @MSEIN2303
    @MSEIN2303 Рік тому

    The best tutorial. thanks a lot

  • @fionagonza8829
    @fionagonza8829 Рік тому

    Thank you Pedro.

  • @minhthongvo5989
    @minhthongvo5989 3 роки тому +1

    Thank you very much Pedro!!!

  • @kofinartey116
    @kofinartey116 3 роки тому

    Thanks a lot for this sir. You helped out a brother

  • @hamzamuhammad2967
    @hamzamuhammad2967 3 роки тому +1

    Love your content keep it up.

  • @thru_and_thru
    @thru_and_thru 2 роки тому

    Awesome tutorial, thanks so much!

  • @anshunarayan8056
    @anshunarayan8056 11 місяців тому

    Although you are speaking in an american accent but your lectures are too easy to understand😊

  • @aneeqrehman4138
    @aneeqrehman4138 3 роки тому +1

    thumbs UP!.... Q# what is the best way to design our components in a project......either we use styled-componnets,scss or css......?

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +1

      I like to use styled-components! There is no best way, it is all about preference!

    • @aneeqrehman4138
      @aneeqrehman4138 3 роки тому

      @@PedroTechnologies plz share the link where you have design a full dynamic tamplate using style...

  • @yashuapervez1533
    @yashuapervez1533 2 роки тому

    great tutorial, it really helped

  • @AMoktar
    @AMoktar 2 роки тому

    Amazing. Thanks bro

  • @hienqngo
    @hienqngo 2 роки тому +1

    Thanks!

  • @amanbansal3928
    @amanbansal3928 3 роки тому +1

    i got error : Could not install from "@hookform
    esolvers\yup" as it does not contain a package.json file...please help me!!

    • @Dan_ny
      @Dan_ny 3 роки тому

      npm install @hookform/resolvers

  • @hamidrezahassanzadeh246
    @hamidrezahassanzadeh246 2 роки тому

    Hi dear Pedro!
    Actually I want to thank you for this really really well-described content , you helped me a lot my bro ❤

  • @maicolfg
    @maicolfg 2 роки тому

    Gracias Pedro, super bueno el tutorial, facil de entender.

  • @dedekinc
    @dedekinc 2 роки тому +1

    ./src/Components/Form.js
    Module not found: Can't resolve '@hookform/resolvers/yup' in 'C:\Users\uscr\Desktop\letreact\src\Components'

  • @brosethkator7246
    @brosethkator7246 2 роки тому +1

    Hi
    PedroTech, what extension you use to detect file size when import library? Eg: import React from "react"; this part -> "7. 2K (gzipped: 2.9K)
    "
    Thanks.

  • @sreekanthvadassery8288
    @sreekanthvadassery8288 2 роки тому

    Superb!!

  • @CHANNELGIVEWAY
    @CHANNELGIVEWAY 2 роки тому

    nice amazing thank you

  • @benitomunga4143
    @benitomunga4143 Рік тому +1

    Getting Uncaught TypeError: path.split is not a function in react:-
    react-hook-form updated to 7.0.0 from 6.X.X and has breaking changes:
    You have to replace all ref={register} with {...register('value_name')}👍

  • @thrivingproject1920
    @thrivingproject1920 2 роки тому

    Hey, great vid; what's the extension you use that formats the JS document around 18:13?

  • @minsungsuh3872
    @minsungsuh3872 2 роки тому

    Thank you for this useful video! Is there a way to style the error messages?

  • @softblood1941
    @softblood1941 3 роки тому +1

    very helpful !

  • @mahendranath2504
    @mahendranath2504 Рік тому

    Thank you so much 👍💕👌🙏🤞✌

  • @Marcus-09
    @Marcus-09 2 роки тому

    hi Pedro, amazing video as always. I have a question: how can i validate a disabled input where the value and placeholder is defined by props? Or there is no needed?

  • @ruslanpascoal9247
    @ruslanpascoal9247 2 роки тому

    muito bom pedro!

  • @RahulKumar-qu1if
    @RahulKumar-qu1if Рік тому

    Can you please tell how i get the min value from the field itself not the hard-coded in the schema

  • @lesharper8751
    @lesharper8751 2 роки тому

    I don't understand. Why use yup if react-hook-form has built-in validation that works fine and you don't need extra libraries loading the bundle

  • @deepakratra77
    @deepakratra77 Рік тому

    How to do dependent validation. example if first name is predo then only last name is mandatory ?

  • @hamdihawari
    @hamdihawari Рік тому

    Please tell me how do I clean the values after submitting :) something like reset

  • @buihuyhung6490
    @buihuyhung6490 2 роки тому

    Great tutorial, can you a tutoral on multi step form with react-hook-form and yup

  • @Davi-wv8mi
    @Davi-wv8mi 2 роки тому

    Nice Pedro

  • @MrNik0l0z
    @MrNik0l0z Рік тому

    from where did ref come from? when i type it the way you do, it gives me an error

  • @anisuzzaman3723
    @anisuzzaman3723 2 роки тому

    If i use react hook from need to click submit button two times otherwise not work and if i give any default value in input field without mouse cursor pointer click those input field data not take or pass.could you tell me why ????

  • @gotemperory4278
    @gotemperory4278 3 роки тому +2

    I am having the same issue : Its Giving an error '' TypeError: Cannot read property 'firstName' of undefined '' , so I had to do "{...register('firstName')}" instead of ref={register}. But still says
    Also not displaying errors, even if I copy paste all of your code. It looks like errors is undefined - "Cannot read property 'firstName' of undefined"

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому

      THank you! The library updated after I made the video so now its outdated!

    • @husseinkizz
      @husseinkizz 3 роки тому +1

      @@PedroTechnologies I have the same issue but gonna look into the documentation if that's the case but don't you consider remaking your tutorials to updates over time? Anyways thanks we love your content!

  • @thyago8062
    @thyago8062 3 роки тому

    Amazing! Could you make a video about masked inputs with React? Thanks!

  • @mohamedyoussef8835
    @mohamedyoussef8835 2 роки тому

    Awesome explanation... thank you ++++++++++++++++++++++++++

  • @caiofelixreis8970
    @caiofelixreis8970 2 роки тому

    brazil é cabuloso credo 👏🏾

  • @jamesfreeman1530
    @jamesfreeman1530 3 роки тому

    Hi Pedro, how can I pass the error response from express/mongoose to yup schema to validate email uniqueness? should I put the the error response to state and from there use the state to validate from yup schema? newbie here and kind of lost. thanks

  • @joaopedromonteiroperaro3237
    @joaopedromonteiroperaro3237 3 роки тому

    muito bom cara!

  • @brijeshp1878
    @brijeshp1878 Рік тому +1

    hello from india iam getting error like this = Cannot read properties of undefined (reading 'firstName')

    • @frontendwithsalimi
      @frontendwithsalimi 11 місяців тому

      use the useForm like this
      const { register, handleSubmit, formState:{errors} } = useForm({
      resolver: yupResolver(userSchema),
      });

  • @Ibrahim-ir6ft
    @Ibrahim-ir6ft Рік тому

    Exellent video

  • @moisesdelarosa3843
    @moisesdelarosa3843 2 роки тому

    Hello, does anybody know which color theme is he using?

  • @DioArsya
    @DioArsya 2 роки тому

    Easier to use react hook form and typescript then create an interface and attach it as generic to the useForm hook. And also Yup is very large in size

  • @akiij
    @akiij 3 роки тому

    what extension is that you're using where you get syntax definitions while typing? anyone knows?

  • @nargizgasanova6222
    @nargizgasanova6222 2 роки тому

    thanks

  • @knuckless__
    @knuckless__ Рік тому

    excellent

  • @mralex6543
    @mralex6543 2 роки тому

    Have you tried required() for Confirm Password?

  • @abdelrahmanmahmoud891
    @abdelrahmanmahmoud891 3 роки тому

    thanxxx

  • @cryptoboy1461
    @cryptoboy1461 2 роки тому +1

    Great tutorial! It would be more helpful if you used different form types.

  • @robiparvez
    @robiparvez 3 роки тому

    nice work

  • @johnconnor9787
    @johnconnor9787 2 роки тому

    How can we validate input type="file" with yup

  • @khanhhq2044
    @khanhhq2044 3 роки тому +1

    how to get the value to change input, without onSubmit?

    • @PedroTechnologies
      @PedroTechnologies  3 роки тому +1

      You can create some states and change them on the onChange property!

  • @DarkShadow00972
    @DarkShadow00972 3 роки тому +2

    Nice,
    Bro where r u from buddy

  • @Isaz63
    @Isaz63 2 роки тому

    Hey Pedro, excellent series of videos on React. Thanks. Su nombre y apellidos son latinos pero su acento no, cuales su ascendencia? Gracias de nuevo!

  • @Cmxmxmmx7
    @Cmxmxmmx7 2 роки тому

    errors.firstName?.message is this typescript? Why there is a question mark after firstName? Also I tried to add min(8) characters to password field but error is not showing up for some reason.

    • @denmccormik7654
      @denmccormik7654 2 роки тому

      syntax has changed a bit, also "?" - that is javascript, check the docs

  • @RealEstate3D
    @RealEstate3D 3 роки тому +1

    Unfortunately we have already react-hok-form v7 out.

  • @ajantica
    @ajantica 2 роки тому

    I got no output, following all the steps you showed

  • @Vlad-us9xt
    @Vlad-us9xt 3 роки тому +1

    great

  • @TungPham-hn1lr
    @TungPham-hn1lr 3 роки тому

    I cannot install @hookform/resolvers/yup and I saw that you crashed on it as well. How did you please import this package?

    • @lyubomirdias5465
      @lyubomirdias5465 3 роки тому

      just add @ hookform / resolvers ---- than import yupResolver from "@hookform/resolvers/yup"

  • @tagalogmovierecapspoiler
    @tagalogmovierecapspoiler 3 роки тому

    you save me

  • @nishadsandilya6653
    @nishadsandilya6653 3 роки тому

    I cannot get the errors to work, even after formState:{errors}. what to do?

    • @gaurav8113
      @gaurav8113 2 роки тому

      Hi Nishad! hope your doubt got resolved. Are you a self-taught programmer?

  • @ShahbazKhan-zl2zt
    @ShahbazKhan-zl2zt 3 роки тому

    Getting this error anyone please help me
    Unexpected token:
    {errors.email?.message}
    ^