【发布时间】:2021-08-19 12:22:10
【问题描述】:
我正在尝试将自定义异步验证添加到 Vue 中的表单并遵循 documented example,但验证永远不会失败。这是我的代码:
<script>
import { reactive } from 'vue';
import useVuelidate from '@vuelidate/core';
import { required, email } from '@vuelidate/validators';
export default {
template:
'<input v-model="state.postcode" /><div v-if="v$.postcode.$silentErrors.length">never shows</div>',
setup() {
const state = reactive({
postcode: 'OX14 8JW',
});
const rules = {
postcode: {
async startsWithX(value) {
await new Promise((resolve) => setTimeout(resolve, 1000));
const isOk = value && value[0] === 'X';
// console.log('sanity check: ', isOk);
return Boolean(isOk);
},
},
};
const v$ = useVuelidate(rules, state);
return { v$, state };
},
};
</script>
有人可以帮我完成这个异步验证吗?
【问题讨论】: