Vue.js Vee 모든 데이터가 유효할 때까지 데이터 전송을 방지하는 방법을 검증합니다.
저의 요구는 이런 것입니다.
- 사용자 입력을 검증하기 위해 필드를 입력해야 합니다.
- 사용자가 필드를 입력하고 [Submit]버튼을 누르면 [Submit]으로 넘어가기 전에 모든 에러 메시지를 표시합니다.
- 사용자 데이터에 오류가 없는 경우 전송이 발생합니다.
이건 내 암호야
<template>
<div>
<h1>Add Items</h1>
Product Name :
<input
type="text"
name="product"
v-model="product"
v-validate="'required|alpha_dash'"
>
<span style="color:red;">{{errors.first('product')}}</span>
<br>
Product Price :
<input
type="number"
name="price"
v-model="price"
v-validate="'required|min_value:100|max_value:500'"
>
<span style="color:red;">{{errors.first('product')}}</span>
<br>
<button @click="submit">Save</button>
</div>
</template>
<script>
export default {
data() {
return {
price: "",
product: ""
};
},
methods: {
submit() {
alert("On submit");
}
}
};
</script>
이제 첫 번째 오류만 표시됩니다.{{errors.first('product')}}
이 대신 모든 오류를 한 번에 표시하려고 합니다.
그리고.
입력 필드를 터치한 경우에만 오류가 표시됩니다.필드를 터치하든 하지 않든 모든 검증 오류를 표시하고 싶다. Submit 버튼을 누르면 모든 오류를 표시하고 싶다.
Sovalina는 동작했지만 $validator.validateAll()은 경보 후에 실행되고 있었습니다.즉, 처음에 검증되지 않았습니다.이 코드를 찾았는데 잘 작동했어요.
submit() {
this.$validator.validateAll().then((result) => {
if (result) {
alert('Form Submitted!');
return;
}
alert('Correct them errors!');
});
}
여기서 : https://baianat.github.io/vee-validate/examples/
최신 vee-validate(이것을 쓰고 있는 버전 3.0.5)에서는 이 모든 것이 변경되었습니다.폼 전체를 포장으로 감싸야 합니다.ValidationObserver
참조가 있는 컴포넌트(나중에 제출 방법으로 액세스 할 수 있습니다) -
<ValidationObserver ref="observer" v-slot="{ invalid }" @submit.prevent="submit()">
<ValidationProvider ...
<input... etc
송신 방법은, 다음과 같이 할 필요가 있습니다.
async submit () {
const isValid = await this.$refs.observer.validate()
if (isValid) {
// data is valid - post your form data
} else {
alert('Data isn't valid')
}
}
Validation Provider 컴포넌트를 Import할 수 있는 방법은 여러 가지가 있습니다.이것은 일반적인 vue입니다.다음은 문서에 대한 링크입니다.
https://logaretm.github.io/vee-validate/api/validation-observer.html
사용할 수 있습니다.validateAll
방법:
submit() {
this.$validator.validateAll()
if (!this.errors.any()) {
alert('submit')
}
}
언급URL : https://stackoverflow.com/questions/50133297/vue-js-veevalidate-how-to-prevent-the-submission-of-data-until-all-the-data-is-v
'programing' 카테고리의 다른 글
문서에 따르면 "wrapper.vm"을 통해 "data" 속성에 액세스하는 것이 올바른 방법입니까? (0) | 2022.07.09 |
---|---|
Vuex에서는 mapGetters가 mapState와 동일한 구문을 받아들이지 않는 이유는 무엇입니까? (0) | 2022.07.09 |
개체 키 및 중첩된 어레이의 Vue.js v-for 루프 (0) | 2022.07.09 |
Quasar 테이블이 업데이트되지 않음(v1) (0) | 2022.07.09 |
NuxtJS / Vuex | nuxtServerInit 및 fetchData 액션이 온 상태의 사용자를 채우지 않음 (0) | 2022.07.09 |