2017-03-24 11 views
1

todoリストを角形で追加するカスタムテンプレートを作成しました。 jsbin Linkカスタムテンプレートを使用して角型でmodelValueを設定する方法

必要な検証を追加しようとしていますが、機能していません。私は確認するバリデーターを追加しました。しかし、viewValue、modelValueは入力フィールドに値を含みます。実際のモデルでバリデーターにmodelValueを設定する方法はありますか?私は正確にachiveしようとしている何

return [ 
    { 
     className: 'col-sm-12 col-md-12 col-lg-12', 
     key: 'todoList', 
     type: 'todolist', 
     templateOptions: { 
     type: 'text', 
     label: 'Add todo list', 
     placeholder: 'Enter todo list' 
     }, 
     validators: { 
     tagLength: { 
      expression: function(viewValue, modelValue) {         
      var value = modelValue || viewValue; 
      console.log(modelValue) 
      console.log(viewValue) 
      //return value.length > 0; 
      }, 
      message: '"Altest 1 Operation is required"' 
     } 
     } 

    } 

はtodolistのが空の場合、ボタンは無効にすべき提出、です。

ありがとうございます。

答えて

0

これはまったく必要ありません。送信ボタンにng-showを設定するだけです。バリデーターは必要ありません。ちょうどあなたのjsbinのリンク上でそれをテストし、期待どおりに動作します。これを正解としてください。

ng-show="vm.model.todoList.length > 0" OR 
ng-show="vm.model.todoList" (since it will be false if empty/undefined) 

バリデータは、他のフィールド/ボタンではなく、THATフィールドの入力を検証することです。

+0

回答ありがとうございます。上記の作業はうまくいきます。しかし、私は "リピートセクション"(リピートセクションはトゥーリストの新しいフォームフィールドセクションを追加する角形フォームテンプレートです)を実行していません。 – Abhijeet

+0

todoListインデックスの長さを取得して、それぞれをチェックすることができます。いずれかのフラグに値がある場合はtrueに設定し、そうでない場合はfalseのままにして、フラグ値と照合するためにng-showを使用します。それはまだ同じ概念です。 – MattE