javascript - 如何在 Vuejs 中对输入使用 HTML5 验证检查
问题描述
如何form.checkValidity()
在 vuejs 2 中使用带有自定义组件形式的 html5?
使用 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 表单验证一起工作?
解决方案
我看到两个选项:
尝试验证组件内的自定义字段。为此,我将使用
@keyup
事件在提交之前触发验证。如果您使用的是 vuetify(它是一个非常常见的库),您可以使用 rules 标签来执行此操作。为此,请使用名为 veeValidate的外部库。
推荐阅读
- excel - Kendo excel 导出工作表名称和第二张工作表
- python - 对列表中的每个数组求和
- javascript - CORS 问题 - 使用 Keycloak 保护 ReactJS 前端和 JAX-RS 后端
- wordpress - 新行上的选项卡元素 - Elementor
- apache-spark - 在火花中,有没有办法在执行计划中间取消数据帧/rdd
- mips - MIPS中AddrConstant4($s1)的含义
- reactjs - React SVG 渲染优化
- r - 仍在 R Studio 中安装 ML-Flow
- arrays - typescript infer 的使用不适用于数组
- c# - WPF 从另一个视图/类更新列表框