私は非常に簡単な電子メール入力を持っていますが、検証に失敗したときにCSSクラスを動的にバインドしています。初期入力の初期状態
私はフラグがstateで有効であるかどうかを追跡するためにフラグを使用しています。
明らかに、デフォルトでは検証されません。しかし、バットのすぐ下の失敗としてインプットをスタイルするのはむしろ面倒です。
変更が行われる前に検証の失敗を表示しないようにしたいと思います。
明らかにこれは設計上の問題ですが、参考のために私のコードを追加しました(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