【问题标题】:How to use HTML5 validation check for inputs in Vuejs如何在 Vuejs 中对输入使用 HTML5 验证检查
【发布时间】:2021-11-27 09:07:09
【问题描述】:

如何在 vuejs 2 中使用 html5 form.checkValidity() 和自定义组件的形式?

使用 html5 输入,表单验证效果很好:

<form name="myform" ref="formref">
  <input type="text" required /> 
  <button type="submit" @click="submitForm">Ok</button>
</form>
...
methods: {
  submitForm() {
    if (this.$refs.formref.checkValidity()) sendData();
    else showError();
  }
}

但是如果我使用自定义组件,那就不行了:

<form name="myform" ref="formref">
  <MyCustomInputComponent :required="true" /> 
  <button type="submit" @click="submitForm">Ok</button>
</form>

表单的checkValidity() 将始终返回true

问题,我应该如何实现MyCustomInputComponent 让它与HTML5 表单验证一起工作?

【问题讨论】:

    标签: javascript html vue.js validation vuejs2


    【解决方案1】:

    我看到两个选项:

    1. 尝试验证组件内的自定义字段。为此,我将使用@keyup 事件在提交之前触发验证。如果你正在使用 vuetify(它是一个非常常见的库),你可以使用 rules 标签来做到这一点。

    2. 为此使用名为 veeValidate 的外部 library

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多