2017-03-24 10 views
1

todo 목록을 각도 형식으로 추가 할 사용자 지정 템플릿을 만들었습니다. jsbin Link사용자 정의 템플릿을 사용하여 각도 형식으로 modelValue를 설정하는 방법

필요한 유효성 검사를 추가하려고하지만 작동하지 않습니다. 확인을 위해 유효성 검사기를 추가했습니다. 그러나 viewValue, modelValue는 입력 필드에 값을 포함합니다. 실제 모델을 사용하여 유효성 검사기에서 modelValue를 설정할 수있는 방법이 있습니까?

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

답변 해 주셔서 감사합니다. 위의 작업은 정상적으로 작동 할 때 작동합니다. 형식은 todoList 하나뿐입니다. 그러나 그것이 "반복 섹션"(반복 섹션은 todolist의 새로운 양식 feild 섹션을 추가하는 각도 formly 템플릿입니다)이 작동하지 않습니다. – Abhijeet

+0

간단히 todoList 인덱스의 길이를 가져 와서 각각을 확인할 수 있습니다. 만약 그들 중 어느 하나에 플래그가 true로 설정되어 있지 않으면 플래그가 false로 유지되고 ng-show를 사용하여 플래그 값을 확인하십시오. 그것은 여전히 ​​같은 개념입니다. – MattE