我有一個非常簡單的電子郵件輸入,我在其中驗證失敗時動態綁定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