2017-03-22 24 views
2

送信ボタンをクリックした後にのみ入力を検証する必要があります。ただし、フォーカスが失われた後に必要なルールがアクティブになっています。私はVue.jsでVeeValidateを使用しています。ボタンをクリックした後にデータを検証する方法は?

HTML:

<input 
    name="Email" 
    v-validate 
    data-vv-rules="required|email" 
    id="email" 
    type="email" 
    v-model="email" 
    placeholder="Email " 
> 

JS:

this.$validator.validateAll().then(success => { 

}) 
+0

あなたはウル完全なJS関数を投稿できる... – user7417866

+0

を、フォーカスを失った後即座にフィードバックフォームに素敵なインタラクティブな感じを与えますそれに。これは質問に最も役立つわけではありませんが、言われると便利です。 –

答えて

2

あなたがそうのようなデフォルトの検証動作を無効にするにはdata-vv-validate-onを使用することができます。data-vv-validate-on="none"

は、その後、あなたの送信ボタンにクリックイベントハンドラを追加しますa @click="submit"

そして、あなたのコンポーネントのsubmit方法は次のようになりますUXの観点から

methods: { 
    submit() { 
    this.$validator.validateAll().then(success => { 
     // submit the value 
    }) 
    } 
} 
+0

入力が有効になっているので、ボタンをクリックして検証する必要があります。 – MAXIMAN

+0

unswer: 'data-vv-validate-on =" none "'が完璧に機能しました。 – MAXIMAN

+0

私の答えを更新しました – thanksd

関連する問題