안녕하세요 저는 페이지에서 많은 양식 유효성 검사가 필요한 앱을 실행 중이므로 컨트롤러 사이에서 사용하는 서비스에서 유효성 검사 패턴을 얻으려고합니다.
여기서 문제는 올바른 이메일 주소를 입력 할 때 ng 패턴이 올바른 방식으로 반응하지 않는다는 것입니다.
이것은 플 런커 이며 여기에 양식에 대한 코드가 있습니다.
<form method="POST" action="#" name="newsletterForm" id="newsletterForm" ng-controller="newsletterForm" novalidate>
<input ng-pattern="/{{patterns.email}}/" type="email" name="email" ng-model="email" required />
<button type="submit">Invia</button>
{{newsletterForm.email.$error.pattern}}
</form>
이것은 app.js 코드입니다.
var app = angular.module('plunker', []);
app.controller('MainCtrl', function(){});
app.service('validationPatterns', function() {
this.getPatterns = function() {
return {
email: "^([a-zA-Z0-9\'\.\-\_]{2,64})([\@]{1})([a-zA-Z0-9\.\-\_]{2,64})([\.]{1})([a-zA-Z]{2,16})$"
}
}
});
app.controller('newsletterForm', function($scope, validationPatterns){
$scope.patterns = validationPatterns.getPatterns();
});
문제는 angular가 입력 태그 내부의 패턴을 렌더링 할 때 백 슬래시를 이스케이프 처리한다는 것입니다.
^([a-zA-Z0-9'.-_]{2,64})([@]{1})([a-zA-Z0-9.-_]{2,64})([.]{1})([a-zA-Z]{2,16})$
이미 각도가 올바르게 렌더링되도록 서비스에 이중 백 슬래시를 추가하려고 시도했지만 여전히 작동하지 않습니다. 어떤 아이디어?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다