2014-11-09 3 views
4

필자는 입력 필드를 필수로 표시 했으므로 사용자가 필드를 터치했지만 값을 제공하지 않거나 양식이 제출 된 경우 유효성 확인 메시지가 표시됩니다. 그것은 위대한 작품.JQuery를 통해 입력 필드 값을 설정하면 AngularJS에서 오류가 발생합니다.

예를 들어 JQuery를 사용하여 프로그래밍 방식으로 값을 필드에 설정하면 필요한 메시지가 계속 표시됩니다. 여기

<form 
    name="myForm" 
    novalidate> 
    <input 
     id="myField" 
     name="myField" 
     ng-model="myField" 
     type="text" 
     required /> 
    <br /> 
    <div 
     ng-messages="myForm.myField.$error" 
     ng-if="myForm.myField.$touched || myForm.$submitted"> 
     <div ng-message="required">Required field</div> 
    </div> 
    <br /> 
    <input 
     type="submit" 
     value="Send" /> 
</form> 

<script> 
    $(function() { 
     $('#myField').val("this is a value"); 
    }); 

    var app = angular.module('app', [ 'ngMessages' ]); 

    app.controller('MyCtrl', function MainCtrl() { 
    }); 
</script> 

입력 필드에 생성 된 HTML 코드는 다음과 같은 클래스를 보여줍니다 내 코드입니다 :

<input id="myField" name="myField" ng-model="myField" type="text" required="" class="ng-pristine ng-invalid ng-invalid-required ng-touched"> 
나는 이것에 대한 planker 또는 피들러를 만든 것입니다,하지만 난 후크 없습니다

그들에 대한 각도 메시지 모듈.

+0

당신이 해결책을 발견했다? –

답변

0

이 나를 위해 작동합니다

$scope.$apply(function(){ 
    $scope.myForm.myField.$setValidity("required", true); 
}); 

각도 1.3.14

관련 문제