我们遇到了一个奇怪的问题,该问题已通过Vee-Validate
进行了验证
我们有一个输入:
<input
v-validate="'required|name'"
id="firstName"
v-model="firstName"
:class="{'is-invalid': errors.has('firstName'), 'filled': firstNameFilled}"
type="text"
class="form-control"
name="firstName">
<label for="firstName">Vorname*</label>
以下脚本:
computed: {
...mapGetters({
formData: 'registration/formData'
}),
firstNameFilled () {
return this.formData.firstName !== null
},
firstName: {
get () {
return this.formData.firstName
},
set (data) {
this.$store.dispatch('registration/updateFormData', { firstName:
data })
}
},
methods: {
async validate () {
this.registrationButtonDisabled = true
try {
const needCaptcha = this.$route.query.utm_campaign &&
this.$route.query.utm_campaign.includes('display');
this.$store.dispatch('registration/updateFormData', { needCaptcha: needCaptcha });
const result = await this.$validator.validateAll()
if (result) {
this.next()
}
} catch (e) {
console.log(e)
}
this.registrationButtonDisabled = false
}
问题:
在某些移动版Chrome(版本7)上,当您开始在输入字段中输入内容时,该字段会立即重置并验证错误。注意:
这显然很难调试,有人知道吗?
答案 0 :(得分:1)
因此Vee-Validate中存在一个错误。在某些移动设备上,(cy) $ python3 ./setup.py build_ext --inplace --quiet
cpdef main():
cdef const char *headers[3] = {"to", "from", "sender"}
^
------------------------------------------------------------
letters.pyx:5:32: Syntax error in C variable declaration
的处理方式不同,这意味着$watch-API
并非实时更新。 v-model
无法解决这个问题。
一种解决方法是将v-validate
添加到输入中,以使vee等到实际设置模型为止。
尽管开发人员在几个月前做出了承诺,但似乎尚不清楚这是否会得到解决。
这里是GitHub讨论的链接:invokestatic
问题似乎与某些设备上的Chrome有关,与所使用的版本以及Safari无关。 Firefox看起来很稳定