2016-06-10 3 views
0

각도 조절기에서 날짜 표시기가 깨끗한 지 확인할 수 있어야합니다. 메소드에 원시 값을 보내는 것을 포함하여 모든 종류의 것을 시도했지만이 값을 얻을 수는 없습니다. 아래는보기 코드 :각도 조절기에서 깨끗한 값 얻기

<form name="myForm"> 
           <!-- Datepicker From --> 
           <div class="small-6 medium-5 large-2 columns" ng-if="vm.subViewActive"> 
            <div class="input-group"> 
             <input name="valuationDatePickerFrom" ng-model="name" type="text" class="datepicker" id="valuationDatePickerFrom" placeholder="DD/MM/YYYY" pikaday="vm.datePickerFrom" on-select="vm.selectStartDate(pikaday)" year-range="{{ vm.yearRange }}" > 
             <div class="input-group-addon"> 
              <label for="valuationDatePickerFrom" class="postfix"> 
               <i class="fa fa-calendar"></i> From 
              </label> 
             </div> 
            </div> 
           </div> 
       </form> 

다음 나는 또한 시도 : 내 컨트롤러에서

var isPristine = $scope.myForm.valuationDatePickerFrom.$pristine; 
console.log(isPristine); 

하지만 자연 그대로의 값을 얻을 수 없습니다. 여기에서 많은 게시물을 읽으십시오. 주로 CSS 클래스와 프론트 엔드 제어 또는 백엔드에서 초기 상태 설정과 관련이 없습니다. 초기 상태 가져 오기 또는 확인하지 않음.

도움을받을 수있는 누군가에게 감사드립니다.

var isPristine = $scope.myForm.valuationDatePickerFrom.$pristine;

을하지만 폼의 이름은 myForm되지 않습니다 :

답변

2

당신이 사용하고 있습니다. <input name="name"...<input name="valuationDatePickerFrom"...

변경 그럼 당신은 사용할 수 있습니다

var isPristine = $scope.userForm.valuationDatePickerFrom.$pristine;

또한, 컨트롤러는 뷰가 생성되기 전에 호출지고, 그래서 myForm 시간에 컨트롤러 실행을 존재하지 않습니다. $timeout과 같이 추가하십시오 :

$timeout(function() { 
    var isPristine = $scope.userForm.valuationDatePickerFrom.$pristine; 
    console.log(isPristine); 
}, 100); 

plunkr

+0

죄송합니다 실수. 실제 변경 사항을 표시하기 위해 업데이트 된 질문이지만 여전히 동일한 오류가 있습니다. 정의되지 않은 '$ pristine'속성을 읽을 수 없습니다. –

+0

이것은보기를 만들기 전에 컨트롤러가 실행되어있을 수 있습니다. 업데이트 된 답변보기 –

+0

app.js : 11706 TypeError : 정의되지 않은 'valuationDatePickerFrom'속성을 읽을 수 없습니다. –

0

위의 솔루션은 페이지로드 작동하지만 페이지를 사용할 때이 값을 알 필요가있다. 액션이 발생하면 대신 컨트롤러에 값을 전달 : 나는 변화를 되돌아

<form name="myForm"> <input type="text" name="valuationDatePickerFrom" ng-model="valuationDatePicker" ng-blur="alerty(myForm.$pristine)"> </form>

.controller('MainController', function($scope) { $scope.alerty = function(isPristine){ alert('isPristine: ' + isPristine); };

https://plnkr.co/edit/f0EWvYmoXCn8UOH3QCfE?p=preview