[英]How to access data that has already been validated?
是否可以獲取在驗證上下文之后驗證的數據?
<template>
<v-text-field
:rules="[rules.required]"
@change='doSomething($event)'
></v-text-field>
</template>
<script>
export default {
data () {
return {
rules: {
required: v => !!v || 'Field required.'
}
}
},
methods: {
doSomething (value) {
// does something only if the data is validated
}
}
}
</script>
在這種情況下,我需要處理已經通過字段驗證階段並且有效的數據。
我不知道如何在 vuetify 中執行此操作,但是有什么方法可以獲取這些數據而不必通過驗證規則中的函數來執行此操作?
您可以收聽updated:error
事件,當收到的值為false
時,請撥打您的電話。
<template>
<v-text-field
:rules="[rules.required]"
@update:error='doSomething'
></v-text-field>
並且在腳本中
methods: {
doSomething (error) {
if (error === false) {
// model is validated
}
}
}
要訪問字段值,您應該使用v-model
。
正如您在我的Codepen中看到的,在firstname
字段有效之前,提交按鈕不起作用。 您還可以刪除lazy-validation
,以便在滿足驗證規則之前無法單擊按鈕。
<v-form
ref="form"
v-model="valid"
lazy-validation
>
<v-text-field
v-model="firstname"
:rules="nameRules"
label="Firstname"
required
></v-text-field>
<v-btn
:disabled="!valid"
color="success"
@click="doSomething"
>
Submit
</v-btn>
</v-form>
這是腳本部分:
<script>
export default {
data () {
return {
valid: true,
firstname: '',
nameRules: [v => !!v || 'Name is required']
}
},
methods: {
doSomething () {
if (this.$refs.form.validate()) {
console.log(this.firstname);
}
},
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.