javascript – Vuelidate:点击验证,而不是字段触及时
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Vuelidate:点击验证,而不是字段触及时,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2774字,纯文字阅读大概需要4分钟。
内容图文
![javascript – Vuelidate:点击验证,而不是字段触及时](/upload/InfoBanner/zyjiaocheng/822/a163ae388b094f4087c85027fe448d98.jpg)
我对vuelidate不熟悉,一切正常,但我不知道如何点击提交按钮时如何运行验证.现在,当你开始提供任何输入时,它会标记触摸的红色,我希望它等待,直到用户想要提交填写的表格.
这就是我现在所做的事情:
Vue.use(window.vuelidate.default)
const { required, minLength, sameAs } = window.validators
new Vue({
el: "#app",
data: {
user: {
login: '',
password: '',
repeatedPassword: ''
}
},
validations: {
user: {
login: {
required,
minLength: minLength(5)
},
password: {
required,
minLength: minLength(8)
},
repeatedPassword: {
required,
sameAs: sameAs('password')
}
}
}
})
input {
border: 1px solid silver;
border-radius: 4px;
background: white;
padding: 5px 10px;
}
.error {
border-color: red;
background: #FDD;
}
.error:focus {
outline-color: #F99;
}
.valid {
border-color: #5A5;
background: #EFE;
}
.valid:focus {
outline-color: #8E8;
}
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vuelidate/dist/validators.min.js"></script>
<script src="https://unpkg.com/vuelidate/dist/vuelidate.min.js"></script>
`<div id="app">
<input type="text" placeholder="login"
v-model="user.login"
v-on:input="$v.user.login.$touch"
v-bind:class="{error: $v.user.login.$error, valid: $v.user.login.$dirty && !$v.user.login.$invalid}">
<br/>
<input type="password" placeholder="password"
v-model="user.password"
v-on:input="$v.user.password.$touch"
v-bind:class="{error: $v.user.password.$error, valid: $v.user.password.$dirty && !$v.user.password.$invalid}">
<br/>
<input type="password" placeholder="repeat password"
v-model="user.repeatedPassword"
v-on:input="$v.user.repeatedPassword.$touch"
v-bind:class="{error: $v.user.repeatedPassword.$error, valid: $v.user.repeatedPassword.$dirty && !$v.user.repeatedPassword.$invalid}"
>
<button :disabled="$v.user.$error" @click="$v.user.$touch()">
Submit!
</button>
</div>`
解决方法:
我可能永远不会习惯于Vuelidate的做事方式,但是,一般来说,它的工作方式如下:https://monterail.github.io/vuelidate/#sub-basic-form
像这样设置允许您对每个表单输入/元素进行验证,然后进行全面检查以查看表单是否“脏”和/或“无效”
form: {
"name": {
"required": false,
"$invalid": true,
"$dirty": false,
"$error": false,
"$pending": false,
"$params": {
"required": {
"type": "required"
}
}
},
"Age": {
"required": false,
"$invalid": true,
"$dirty": false,
"$error": false,
"$pending": false,
"$params": {
"required": {
"type": "required"
}
}
},
"$invalid": true, <------- This is what you are after for valid/invalid
"$dirty": false, <------- This is what you are after to see if the form has been used.
"$error": false, <------- This checks both invalid and dirty
"$pending": false,
"$params": {
"nestedA": null,
"nestedB": null
}
}
至于在实践中使用它,一个选项是在提交时调用validateform事件.
@click.prevent="validateform"
然后在您检查的vue实例中创建一个validateform方法
$v.form.$invalid or $v.form.$error
然后显示错误或调用实际的提交方法
内容总结
以上是互联网集市为您收集整理的javascript – Vuelidate:点击验证,而不是字段触及时全部内容,希望文章能够帮你解决javascript – Vuelidate:点击验证,而不是字段触及时所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。