2017-03-22 1 views
0

私はVue.jsが新しく、動的に作成されたフォームでフォーム検証を実行しようとしています。入力フィールドは、ajax呼び出しから取得するjsonオブジェクトを介して決定されます。私は見回してフォームバリデーションライブラリをたくさん見つけましたが、それらのすべてがバリデーション部分が機能するためには、vueインスタンスに静的なデータプロパティが必要なようです。例えばVue2フォームの検証のためにvueインスタンスに動的データフィールドを作成する方法

... 
data() { 
    return { 
    name: '', 
    age: '', 
    ... 
    } 
} 
... 

しかし、私のフォームのフィールドはjsonオブジェクトに依存するため、これらの値をデータにハードコードすることはできません。私が試したと思った1つの方法は、jsonオブジェクトをループし、固有のキー値(フィールド名など)を取得し、空の値とペアにしてから、そのオブジェクトをデータ変数に格納して、 vueインスタンス。しかし、それは一意の名前を持つ各入力フィールドにも依存しています(「名前」という名前の複数のフィールドがすべて必要な場合はどうなりますか?)。

これは正しい方法ですか?それとも私が欠けているいくつかの基本的な概念はありますか?これについてさらに情報を提供する必要がある場合はお知らせください。ありがとう。

設定:main.js(vueインスタンスをインスタンス化し、コンポーネントであるApp.jsを呼び出します) - > App.jsにはデータフィールドが含まれています。入力フィールド、ラジオボタン、チェックボックスなど)は、その依存のものが

答えて

0

あなたが試す使用することができますJSONオブジェクトにVue.set次のとおりです。

onload: function(data) { 
    for(var i in data) { 
     Vue.set(this, i, data[i]); 
    } 
} 

API Documentation

関連する問題