2014-01-06 2 views
3

나는 예제가있다.angularjs에서 ng-pattern을 붙잡는 방법

<input type="text" id="openDate" name="openDate" ng-model="ngModel" required="" ng-minlength="1" ng-maxlength="10" ng-pattern="/^[0-9,/]+$/"> 

ng-pattern catch 오류가 발생하면 입력 요소에 빨간색을 그립니다.

그래서이 오류를 포착하고 제목 메시지를 표시하려면 "이 필드는 형식이 잘못되었습니다."

어떻게 할 수 있습니까?

답변

0

directive을 사용하여 걸릴 수 있습니다.

그래서 HTML에서 ng-pattern을 사용하는 대신 새 속성을 만들 것입니다. 이 경우에는 ng-attr-mynewpattern이라고했습니다.

<input type="text" ng-model="opendate" ng-minlength="1" ng-maxlength="10" ng-attr-mynewpattern="/^[0-9,/]+$/"> 

그런 다음 지시문을 추가하십시오. 공지 사항에 따르면, "ng-attr"을 삭제합니다. 지시문에서 요소와 패턴을 범위에 설정합니다. 이것은 좀 더 견고한 것으로 바뀌어야 할 것이지만 예제를 간단하게 유지하려고합니다. 여기

app.directive("mynewpattern", function() { 
    return { 
     restrict: "A", 
     link: function (scope, el, attrs) { 
      scope.pattern = attrs.mynewpattern; 
      scope.el = el; 
     } 
    }; 
}); 

은 jsFiddle입니다 : http://jsfiddle.net/tonyzampogna/6Vj7p/

관련 문제