React Hook Form with ZOD Tutorial - React and Typescript Form Validation Tutorial

Sdílet
Vložit
  • čas přidán 29. 07. 2024
  • To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/PedroTech/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
    In this video we go over react form validation using zod and react hook form.
    Join our Discord: / discord
    🚀 Learn ReactJS By Building 6 Projects: codedamn.com/learn/reactjs-pr...
    🐙 GraphQL Course: codedamn.com/learn/graphql-fo...
    ► Buy Crypto on Coinbase: coinbase-consumer.sjv.io/PedroTech
    Social
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Website: machadopedro.com
    Linkedin: / machadop1407
    Instagram: / pedro.fmachado_
    Github: github.com/machadop1407
    Business Email: pedro@pedrotech.co
    Tags:
    - ReactJS Tutorial
    - ReactJS and MySQL
    - NodeJS Tutorial
    - API Tutorial
    REACT HOOK FORM ZOD TIMESTAMPS
    00:00 | Intro
    01:51 | Introduction to the Zod Library
    02:58 | Installing Packages
    03:41 | Creating the structure of the Form
    06:30 | Defining Form Structure using Zod
    18:33 | How to display Error Messages
    #reactjs #coding
  • Věda a technologie

Komentáře • 92

  • @PedroTechnologies
    @PedroTechnologies  Před rokem +4

    To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/PedroTech/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.

  • @delavalom
    @delavalom Před rokem +48

    You could also transform the structure of your schema into TypeScript by typing: `type FormData = z.infer`
    This way you save yourself the boilerplate and also allow TypeScript to infer your schema type.
    By the way, great tutorial about forms.

    • @eazydatasolutions5800
      @eazydatasolutions5800 Před rokem +1

      I was also about to suggest the TypeScript infer to transform the Schema to a type instead of redoing it.😜

    • @JoelRdz
      @JoelRdz Před rokem

      How do you do this? if I try it "schema" is in the App scope so it doesn't detect it

    • @delavalom
      @delavalom Před 11 měsíci

      ⁠@@JoelRdz Well, the thing is that you shouldn’t define the zod schema inside the App component since it doesn’t need to change in every render. You even can define the schema in another file like a config file and export it.

    • @reazon7
      @reazon7 Před 3 měsíci

      yeah, but is there a way to make number input (and other type of input like datepicker etc) that can't be empty when submit (required field validation) but with initialValue of empty/null using this `z.infer` ?

  • @prashlovessamosa
    @prashlovessamosa Před rokem +15

    Hey Pedro i want more Typescript stuff in future I love TS.

  • @harishkhojare1592
    @harishkhojare1592 Před 22 dny

    Jod!! this should be the way of teaching man. we are here because it is complex to understand, and they are making it even complex.

  • @thelimi2j
    @thelimi2j Před rokem

    Great tutorial, helped me finalize my choice on using Zod for form validation. Thank you.

  • @ogheneminesmart8680
    @ogheneminesmart8680 Před rokem +1

    anytime i want to learn something, ill first check if you have a video for it, cause your style of explanation is so simple and we developers can take what u teach then scale it up ... welldone, keep it up 🤗

  • @faizanahmed9304
    @faizanahmed9304 Před rokem +2

    Thanks man 😊

  • @risbelsuarezrodriguez9608

    It was really a very good video, I hope you continue making many more, thank you very much teacher Pedro...

  • @natemueller5985
    @natemueller5985 Před 9 měsíci

    Excellent video! Right to the point.

  • @rjborba
    @rjborba Před rokem +3

    Hey, thanks for the tutorial! It was pretty useful.
    If I may, I would like to add a concern about initialization the schema inside the component render function. It hames this schema creation happen every rerender of your component. Even though it doesn't seem to be a expensive operation, it maybe could be done outside the component scope.

  • @manishankart6862
    @manishankart6862 Před 2 měsíci

    really a useful tutorial which is way better for understanding the validations..keep going

  • @user-vh1nl7qx7t
    @user-vh1nl7qx7t Před 11 měsíci

    Awesome and simple explanation!!

  • @mjbalcueva6485
    @mjbalcueva6485 Před rokem +1

    the auto complete package in your terminal looks really cool

  • @codewithguillaume
    @codewithguillaume Před rokem +2

    Again a very good tutorial Pedro ❤

    • @prashlovessamosa
      @prashlovessamosa Před rokem +1

      Your tailwind course is awesome man I learnt a lot thanks for sharing free knowledge.

    • @codewithguillaume
      @codewithguillaume Před rokem

      @@prashlovessamosa hey bigsamosa thank you my friend that is so nice ! Hope you enjoyed ;)

  • @gaganprakash4071
    @gaganprakash4071 Před 7 měsíci

    helped a lot thanks man

  • @hardwired89
    @hardwired89 Před rokem

    Thank you for zod tutorial, hope next content is about next, ts and react query mutation.

  • @Doppio_00
    @Doppio_00 Před rokem

    It's good to be brief.

  • @andresantos-ud4ht
    @andresantos-ud4ht Před rokem

    thank you sir ✌️

  • @gauravkumawat5811
    @gauravkumawat5811 Před 2 měsíci +1

    You just got a new subscriber bro.

  • @wallace_lw
    @wallace_lw Před rokem +1

    pedro again, with another great timing

  • @eeshalteluri
    @eeshalteluri Před 18 dny

    thank you

  • @shinmini99
    @shinmini99 Před rokem

    thanks for sharing this awesome tutorial🔥🔥🔥

  • @NosurfOfficial
    @NosurfOfficial Před rokem

    Thanks!

  • @Nanashi-rq7lk
    @Nanashi-rq7lk Před 11 měsíci

    Nice turtorial,Thanks

  • @georgios_georgiou
    @georgios_georgiou Před rokem +1

    I do have a very similar configuration and it seems that refine is having trouble finding the confirm password to be the same with password (so it doesn't really update the errors object correctly).
    Any thoughts ?
    Also can you specify zod, react-hook-form, resolvers versions for this ?

  • @zaheerabbas8344
    @zaheerabbas8344 Před 5 měsíci

    very good explaination, fully understand❤❤❤❤

  • @user-kj3ch2yv6q
    @user-kj3ch2yv6q Před rokem

    Hello, can you tell me at 4:30 what is the command suggestion and autocomplete plugin that appears when you type a command in the terminal?

  • @manoj.k.m4302
    @manoj.k.m4302 Před rokem +2

    Wow! Never thought Zod is cool.its is better than yup because of its typescript support and ease

  • @kulvirsingh4568
    @kulvirsingh4568 Před rokem +1

    Thank you

  • @muhammadkhalil4043
    @muhammadkhalil4043 Před rokem

    Awesome Video

  • @miketepes8208
    @miketepes8208 Před rokem +1

    how to trigger validation if it is multi step form?

  • @skverskk
    @skverskk Před rokem

    Well done!

  • @4v4
    @4v4 Před rokem

    What's the extension that shows packages as you write them in the terminal? This is so cool!

  • @sjonny-depp
    @sjonny-depp Před rokem

    Hi Pedro, what I am working with Next 13 and need a library which is simple or tool to send e-mails when having a contact form which I have created with Typescript and React HOok Form. Which tool do you use to send emails?

  • @togya4
    @togya4 Před 2 měsíci

    pedro you are jut the best

  • @HeitorYT
    @HeitorYT Před rokem

    What is that "gzipped" that apears in front of the "import react from 'react'"?

  • @olaleyeoyewunmi6978
    @olaleyeoyewunmi6978 Před rokem

    For the error message for first name it says string must contain at least 2 characters , how can we customize the error message ?

  • @saqibkhan8257
    @saqibkhan8257 Před rokem +1

    Hello, I have bought the subscription on brilliant Just keep doing what you do you have helped me alot❤

  • @nickmorton5595
    @nickmorton5595 Před rokem

    Nice video!!

  • @speedster784
    @speedster784 Před rokem

    How do you add password regex with zod so that you can use that in the schema for validation

  • @explorewithrohan1994
    @explorewithrohan1994 Před rokem

    how do we customise the error messages..?

  • @PappuKumar-rz1tn
    @PappuKumar-rz1tn Před rokem

    if we click on the submit button without filling the required fields it throws 'required' error message, how to make that to show the custom message instead of the 'required'?

  • @jasonterry9343
    @jasonterry9343 Před 6 měsíci

    Could you please do an example where you use this with a componentized form (one where the inputs have been extracted out as reusable components?)

  • @Lunolux
    @Lunolux Před rokem

    great video

  • @cevdet-gt3uu
    @cevdet-gt3uu Před rokem +1

    What is the extension in 4:30 ?

  • @bisolaonaolapo6089
    @bisolaonaolapo6089 Před 10 měsíci

    Awesome video! Love the vs code theme...can you share what theme you use? Thanks!

  • @owoeyetemidire7956
    @owoeyetemidire7956 Před 3 měsíci

    I want to make the input field to be a component, cause I'm creating a login and sign up page and i don't want to be rewriting the same code... how do I do this while also implementing zod and react hook form

  • @Unknown-ee7db
    @Unknown-ee7db Před rokem

    Nice one
    💌

  • @TheSharkbeast
    @TheSharkbeast Před rokem +2

    this is Some hyperion class Resource! thank you so much !!!
    Also id like to request a video on a project based graphql-apollo client react-tsx video : since we are all comfortable with ts thanx to your react course

  • @crisi6754
    @crisi6754 Před rokem +1

    The react GOAT ❤️

  • @ahmadmohsen54827
    @ahmadmohsen54827 Před 10 měsíci

    the best🙏

  • @eliuddyn
    @eliuddyn Před rokem +1

    Amazing 🔥🔥

  • @FULLUPE1
    @FULLUPE1 Před rokem +1

    ❤ always on point thanks bro ❤

  • @TheCrowdel
    @TheCrowdel Před rokem +1

    i don't know general zod create library for web development

  • @yutsacarm8021
    @yutsacarm8021 Před rokem

    how to use hostinger with nodemailer

  • @sandangmakmur4475
    @sandangmakmur4475 Před 10 měsíci

    Bro, can you make tutorial on shad cn ui?

  • @weldonkipsang3332
    @weldonkipsang3332 Před rokem

    Hi can you start vue training tutorials.I have passed through your react series and love them

  • @pranupranav6279
    @pranupranav6279 Před rokem +1

    We can create type in one line like TFormData=z.infer;

  • @jhondoe2785
    @jhondoe2785 Před rokem

    nice

  • @edward6408
    @edward6408 Před rokem +1

    Pedro, how do you feel about doing an overview of the t3 stack?

  • @James66662
    @James66662 Před 5 měsíci

    nice tut , actually if think about it you don't need the min or max for confirm password because you have the refine that has to match

  • @jonnawiberg3051
    @jonnawiberg3051 Před rokem

    What is the autocomplete you get when adding packages in your terminal? :) great tutorial

    • @hezronbett3980
      @hezronbett3980 Před rokem

      It's a default inbuilt in some os I guess, like Kali Linux

  • @iamronish007
    @iamronish007 Před rokem

    Make a full beginner video about zod pedro

  • @AnuragMishra-ws4zc
    @AnuragMishra-ws4zc Před rokem +1

    Hey pedro plz next js series

  • @FunkyToe369
    @FunkyToe369 Před rokem +4

    Another benefit of zod is that it's commonly used for backend validation too so if you have a full stack typescript project you can easily share the same validations on both front and backend for end to end type safety

  • @wizz1e80
    @wizz1e80 Před 7 měsíci

    wouldn't it have been easier to infer the type like [ type FormData = z.infer ]

  • @iamronish007
    @iamronish007 Před rokem

    pedro bring upp a best crash course on tRPC .

  • @MrJuancho2706
    @MrJuancho2706 Před rokem

    Hello pedro, first i want to say thanks for all your videos, are really good, now about this video well i have a question.
    It is really necessary to get a library for validation like zod? Because i just hardcoded the validation in react with a madeup function that validates first, then if its ok all the values then just put the data on the backend, so my question is this library necessary?
    Oh and btw do you know spanish? It would be cool to ask stuff in Spanish bc of my bad english haha!

  • @fallanstar
    @fallanstar Před rokem

    Sir Plz Start React Native Tutorials as well as with Real time industry Projects plz sir

  • @sowmocoding5740
    @sowmocoding5740 Před 7 měsíci

    anyone having any issue on next13 or next14, use 'use client'

  • @gilbertoaristeubeltramenet5773

    Só conteúdo quente! Dale

    • @alveselivelton
      @alveselivelton Před rokem +1

      O Pedro é BR? A fala dele soa como um BR falando inglês

  • @KoryGraphic
    @KoryGraphic Před 11 měsíci

    Good vid but not great, should've included an example of a select input or radio buttons.

  • @husseinmomd
    @husseinmomd Před rokem

    You could just infer the zod schema and skip creating a form type