我有一个非常简单的电子邮件输入,我在其中验证失败时动态绑定CSS类。原始输入的初始状态
我在状态中使用一个标志来跟踪它是否被验证。
显然,默认情况下,它没有被验证。然而,将输入作为一种失败立即投入是相当令人讨厌的。
我希望在做任何更改之前避免显示验证失败。
显然这是一个设计问题比实现更多,但我已经添加了我的代码以供参考(Vue.js
)。
你会怎么做呢?
<template>
<p class="control has-addons">
<input
v-model="email"
class="input is-large"
:class="{'is-danger': !validated}"
placeholder="Email">
<a
@click.prevent="submitEmail"
class="button is-info is-large">
Subscribe
</a>
</p>
</template>
<script>
import { isEmail } from 'validator'
export default {
data() {
return {
email: '',
validated: false
}
},
methods: {
submitEmail() {
if (isEmail(event.target.value)) {
this.validated = true
this.$store.dispatch('submit_email', this.email)
} else {
this.validated = false
}
}
}
}
</script>
我真的很喜欢解决方案,仍然添加数据键,但更优雅 – softcode