Easy Form Validation with Vuelidate | Vue 3 Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ม.ค. 2025

ความคิดเห็น •

  • @francoislacock
    @francoislacock ปีที่แล้ว

    Very useful video and tutorial. Thank you! I just coded it with the Vue 3 script setup tag from the start and was easy to still get it right.

  • @QueeeeenZ
    @QueeeeenZ 2 ปีที่แล้ว +7

    One suggestion for the composition API would be to use for shorter and cleaner syntax

    • @crazy_coder
      @crazy_coder 2 ปีที่แล้ว +1

      Can you please give me an example of same

    • @_timestamp
      @_timestamp 2 ปีที่แล้ว

      @@crazy_coder
      // ----------- replace this -----------
      export default {
      setup(){
      // code here
      return {}
      }
      }
      // ----------- with this -----------
      // code here

    • @fiendsgaming7589
      @fiendsgaming7589 ปีที่แล้ว

      @@crazy_coder read the official Vue3 Docs

    • @fiendsgaming7589
      @fiendsgaming7589 ปีที่แล้ว

      @@crazy_coder
      import { ref } from 'vue'
      const count = ref(0)
      function increment() {
      count.value++
      }

      {{ count }}

  • @cutipets8706
    @cutipets8706 3 ปีที่แล้ว +2

    console.log(this.v$.email.$errors);
    when i try to display the list of errors to the console it gives me an empty array, I dont know why?

  • @thulas-mkhwanazi
    @thulas-mkhwanazi 3 ปีที่แล้ว +2

    Great tutorial. This helped me a lot with Vue 3 Typescript project

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +1

      Glad it helped!

  • @weristsam
    @weristsam 3 ปีที่แล้ว +2

    Great tutorial! but i cannot access v$.. when i print {{ v$ }} i got the following array of data => { "$dirty": false, "$path": "__root", "$model": null, "$error": false, "$errors": [], "$invalid": false, "$anyDirty": false, "$pending": false, "$silentErrors": [] }.. their is no v$.email or something else.. i checked the code several times.. i have exakt the same code
    Edit: in my case it only work with "this.v$.email.$error" and "this.v$.email.email.$message".. i'm wondering, because i return v$: useValidate() in ma data function.

  • @abubakirmahkamov
    @abubakirmahkamov 2 ปีที่แล้ว +2

    Thank you for this lesson .This video is very useful for me.

  • @dethcx22
    @dethcx22 2 ปีที่แล้ว +12

    This isn't actually using the Composition API as you're still mixing in the Options API with the methods object and referencing 'this', at best this is a mix of both APIs.
    For reference, anyone using the Composition API. Create either a normal constant or a computed property with the object you want for your validation (see example below). Then you can use the touch() method to run the validator, or run the validate method:
    const rules = {
    credentials: {
    username: { required },
    email: { required, email },
    password: { required },
    },
    }
    const v$ = useVuelidate(rules, store) // Here I'm just referencing my Pinia store which is using reactive objects.
    Inside my function I run:
    const isFormCorrect = await v$.value.$validate()
    and then check for errors:
    if (!isFormCorrect) return
    Do you checking here, else run function.

    • @raydenchan
      @raydenchan 2 ปีที่แล้ว

      Thanks a lot @noxi

    • @crazy_coder
      @crazy_coder 2 ปีที่แล้ว

      Can you please provide an example of s

  • @artemkomarov9902
    @artemkomarov9902 2 ปีที่แล้ว

    Hello, needs upadates) if we use script setup and submit form we need use async await to validate...

  • @pagevpetty
    @pagevpetty 3 ปีที่แล้ว +4

    0:30 Add dependencies,
    2:38 Options API Validation,
    5:49 Composition API Validation,
    7:29 Better Validations,
    8:43 Display Error Messages
    9:35 Custom Validation

  • @davidadu-tenkorang3186
    @davidadu-tenkorang3186 3 ปีที่แล้ว +6

    You saved me big time.

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +2

      I'm beyond glad that I could help 😇

    • @annizma6873
      @annizma6873 3 ปีที่แล้ว +1

      @@LearnVue You saved me too Т.Т

  • @mangouni
    @mangouni 3 ปีที่แล้ว +2

    Vuelidate documentation is difficult to understand, so.. can i still get and show error messages with VUE 3 without using the Composition API shown in the video?
    Also, How to create custom regex validator and use it? It is confusing.. I tried.. still trying.

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +1

      try the helpers.regex method (vuelidate-next.netlify.app/custom_validators.html#regex-based-validator) and to make sure your regular expression is doing what i want, i use this tool a ton! regexr.com/

    • @mangouni
      @mangouni 3 ปีที่แล้ว

      @@LearnVue thank you for the useful links! Since I need to get things done I chose to do the validation without Vuelidate. Maybe I will come back to the documentation in the near future :)

  • @josepacheco1063
    @josepacheco1063 3 ปีที่แล้ว +1

    awesome! keep making this kind of video. specially for vue + laravel! thanks

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว

      Glad you liked it!

  • @hadeelkamalgobbar4694
    @hadeelkamalgobbar4694 ปีที่แล้ว

    when i added tihs statement => this.v$.$validate() , this error apeared => this.v$.validate is not a function, i don't know what's the reason!!!!!
    :(

  • @Troy-ol5fk
    @Troy-ol5fk 3 ปีที่แล้ว

    how to validate checkboxs? for example, I want to make sure at least 3 out of 10 check boxes are checked

  • @pagevpetty
    @pagevpetty 3 ปีที่แล้ว

    I tried to get the cheat sheet, but after I put in my email nothing happened 😢 .

  • @jessicaryan9820
    @jessicaryan9820 2 ปีที่แล้ว

    So much nicer than vee-lidate and yup. Thank you!!

  • @TheMalni
    @TheMalni 2 ปีที่แล้ว

    Thanks a lot, it was very useful tutorial! 🔥

  • @kennyendowed9814
    @kennyendowed9814 3 ปีที่แล้ว +1

    nice one but can i see how to handle Strong passwords need to have a letter, a number, a special character, and be more than 8 characters long. for password validation

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +1

      for that, you can use Vuelidate's minLength to make sure it's longer than 8 characters. And then use a custom validator to check for a letter, number, and special character. You can use a regular expression and this is the documentation for the custom validations: vuelidate.js.org/#sub-simplest-example

  • @brunoberrehuel4833
    @brunoberrehuel4833 2 ปีที่แล้ว +1

    Amazing content, great video and awesome explanations !

    • @LearnVue
      @LearnVue  2 ปีที่แล้ว +1

      glad it helps :)

  • @Useroelas97
    @Useroelas97 3 ปีที่แล้ว

    thank you so much :) . please how can we reset form ( errors ) with composition api ?. Thank you

  • @serdar_a
    @serdar_a 2 ปีที่แล้ว +1

    I wrote into the useValidate function first state and then rules - that caused the problem "Maximum call stack size exceeded". Honestly i didn't expected that the order first rules then state is imported. Could you explain why the order matters? Short: const v$ = useValidate(rules, state) does work and const v$ = useValidate(state, rules) doesn't work!

  • @hackwithharsha5228
    @hackwithharsha5228 3 ปีที่แล้ว

    Thank You, Please help me with following question if you have any idea..( Note: not related to this video.. )
    In my current project, the bundle has becoming bigger and bigger which will lead to more load time for user.. ( This will include some Ajax requests too once the bundle received by client.. Now, I have added pre-loader component in App.vue component which will slow loading screen or window until the document.ready is complete.. which will works good.. The problem with this solution, if a user has slow network as pre-loader component is in bundle which is big size user has to wait for loading screen until the bundle is fully loaded.. which is not great..)
    what I am expecting is some solution with 'index.html', having a loader in the inital index.html file which is small in size and disable it once the bundle and ajax requests are loaded... any idea how to achieve this in Vue ?

  • @usertester8982
    @usertester8982 3 ปีที่แล้ว +1

    Hey I try to run same validation method but I am getting error in console
    Uncaught TypeError: this.v$.validate is not a function
    Can you please help me?

  • @RicardoGarcia-wk8ds
    @RicardoGarcia-wk8ds 2 ปีที่แล้ว

    Very, Very useful! Thank you Learn Vue

  • @rosia1948
    @rosia1948 3 ปีที่แล้ว +1

    Awesome man👍

  • @faredshadman
    @faredshadman 2 ปีที่แล้ว

    Hi, after submit completed it shows required errors again , how can i fix it? It is because I change input fields values to empty string, any way to handle it ?

    • @faredshadman
      @faredshadman 2 ปีที่แล้ว

      const v$ = useValidate(rules, state, { $rewardEarly: true });

  • @ddung203
    @ddung203 2 ปีที่แล้ว

    I can't hear English, the video has no subtitles?

  • @disa1710
    @disa1710 3 ปีที่แล้ว +1

    Great video! Vuelidate docs don't use a computed property for the rules object when using composition API. Is that optional? Or are the docs wrong?

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +2

      Great question! Computed is only needed if your rules are accessing a reactive value, like in the example from the video. This is the part of the docs that use that reactive and computed: vuelidate-next.netlify.app/advanced_usage.html#using-reactive-state.

  • @priya6491
    @priya6491 2 ปีที่แล้ว

    Please post a video about Vuelidate to show errors instead of using composition api>

  • @happychristian1389
    @happychristian1389 3 ปีที่แล้ว

    is this one better or VeeValidate?

  • @KhanhLe-vi6gr
    @KhanhLe-vi6gr 3 ปีที่แล้ว +1

    Awesome video. Thank you

  • @madhz007
    @madhz007 3 ปีที่แล้ว +1

    Amazing tutorial. How about server side validation such as checking if username is taken? How is that integrated with Vuelidate?

  • @msdnsditlabs5328
    @msdnsditlabs5328 3 ปีที่แล้ว +1

    Awesome! Thank you so much buddy

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว

      any time - thanks! 😇

  • @antoniogiroz
    @antoniogiroz 3 ปีที่แล้ว +2

    Great video! Can you create a similar example for VeeValidate? Thanks!

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +4

      definitely something ill look more into! thanks for the suggestion :)

  • @timzeynalov3537
    @timzeynalov3537 3 ปีที่แล้ว

    v$ is undefined vetur problems how cai I fix that?

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว

      many of the new vue 3 ways of writing code are still being developed in Vetur, you could always hard ignore lines in Vetur, but typically I just ignore the issues.

  • @eduardomavlyutov4710
    @eduardomavlyutov4710 2 ปีที่แล้ว

    Thanks for your video!

  • @TechnoTrace
    @TechnoTrace 3 ปีที่แล้ว

    Thanks for your awesome explanation, can you please tell me exactly how to implement vuelidate with vuex in a effective and scalable way with more maintainable code.

  • @abimaeltavares1620
    @abimaeltavares1620 3 ปีที่แล้ว +1

    Nice nice nice!!!!! Thx

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว

      Thank you for watching!

  • @softwareEngineerKunwar
    @softwareEngineerKunwar 3 ปีที่แล้ว +1

    thanks for video

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว

      you're welcome! thanks for watching

  • @paulojose7568
    @paulojose7568 3 ปีที่แล้ว +1

    wait, isn't it $v????

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +2

      That's what I thought at first too, because that's the normal Vue syntax. But Vuelidate actually recommends using v$ or just v for the Vuelidate instance: vuelidate-next.netlify.app/guide.html#checking-for-validation-state

  • @justAblog
    @justAblog 3 ปีที่แล้ว +1

    Thanks

    • @LearnVue
      @LearnVue  3 ปีที่แล้ว +1

      No problem - thanks for watching! 😀

  • @thatsenam9183
    @thatsenam9183 3 ปีที่แล้ว +1

    Great

  • @Popc1007
    @Popc1007 2 ปีที่แล้ว

    thanks

  • @zergzerg4844
    @zergzerg4844 ปีที่แล้ว

    Thanks for video but you told very basic thing. It didn't help much. How about tell us how to use regex and validate alfabet fields or digit fields? How does it use?

  • @motu0427
    @motu0427 2 ปีที่แล้ว

    Lovee from Pakistan

  • @siddeshbarhate7516
    @siddeshbarhate7516 3 ปีที่แล้ว

    "TypeError: _this.v$.validate is not a function" please reply for this error

    • @dan_vl1909
      @dan_vl1909 3 ปีที่แล้ว +1

      Don't know if you already found it, but it is "$validate", not "validate".

  • @GigaHertZ28
    @GigaHertZ28 3 ปีที่แล้ว +2

    this.v$.$validate() is not a function

    • @siddeshbarhate7516
      @siddeshbarhate7516 3 ปีที่แล้ว

      same error please help

    • @benimuliaa
      @benimuliaa 3 ปีที่แล้ว

      have u found the solution? i got same error

  • @xxxx-xx4im
    @xxxx-xx4im 2 ปีที่แล้ว

    What a great content,ty so much!!