この記事では、主に Vue の from-validate フォーム検証のサンプル コードを紹介します。編集者が非常に良いと思ったので、参考として共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
はじめに
フォームデータの検証は元々HTML5を使用して行われていましたが、効果が非常に低く、柔軟性が十分ではなかったため、オンラインプラグインが大きすぎてカスタマイズされたフォーム検証が必要でした。プロジェクトはありませんでした。需要はそれほど多くありません。
それなら自分で書いてみましょう!
知識の準備
vueのカスタム手順
詳細については、公式マニュアルをご覧ください。リンクは次のとおりです: https://vuejs.org/v2/guide/custom-directive.html
一般的にはそれだけです 指定されたフック関数、パラメーター (el、バインディング、vnode) で関数にジャンプするのに役立ちます
el: バインドされた dom
binding: コマンドのさまざまな属性
vnode: Vueのコンパイルによって生成された仮想ノード
Start
1.命令の宣言
なお、バックバインドされた後はパラメータがバインドされないため、クロージャメソッドが使用されます
Vue.directive('validate', { // 在指令第一次背绑定上时调用 bind(el, binding, vnode) { } }
2. パラメータを解析する
<form id="red-package" @submit.prevent="submit" v-validate.formData="validate"> ... <button type="submit" class="save">保存</button> </form>
3. 入力内容が変更されたときにルールを検証する
Vue.directive('validate', { // vm对象,就是组件 const vm = vnode.context; // 获得参数绑定的参数,就是规则对象 const validate = binding.value; // 获得数据的key const dataKey = Object.keys(binding.modifiers)[0]; });
5. 検証ルールの例
el.addEventListener('change', (e) => { try { // 事件触发的input标签名 const changeElName = e.srcElement.name; // 如果未设定规则不验证 if (validate[changeElName]) { // 把表单的所有参数传入 validate[changeElName](vm[dataKey]); // 检验成功添加成功的class Util.removeClass(e.srcElement, 'success'); } } catch (err) { // 抛出异常添加失败的class Util.addClass(e.srcElement, 'error'); } });
何か良い提案があれば指摘していただければ幸いです。
関連する推奨事項:
vue、vue-validatorはフォーム検証機能を実装します Bootstrapのフォーム検証機能の詳細な説明 フォーム検証以上がVue の from-validate フォーム検証コード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。