AngularJS에서 양식 기반 지시를 만드는 방법
- 및
- angularjs에서 를 사용하여 양식 상태 및 확인을 관리하여 사용자에게 즉각적인 피드백을 제공하고 사용자 경험을 향상시킵니다.
-
ng-required
ng-pattern
지침을 사용하여 angularjs의 양식 제출을 처리하고 기본 제출 동작을 차단하고 서버로 데이터를 보내기 전에 사용자 정의 확인 로직을 활성화하십시오. -
많은 개발자들은 사용자가 제출 한 데이터에 대한 복잡한 비즈니스 제약을 실행할 때 고유 한 과제에 직면 해 있습니다. 최근에 우리 팀은 GiftCards.com에서 응용 프로그램을 작성할 때이 도전에 직면했습니다. 고객이 각각 고유 한 검증 규칙으로 한 관점에서 여러 제품을 편집 할 수있는 방법을 찾아야합니다. FormController
이것은 HTML 소스 코드에서 여러 태그를 사용하고 각 양식 인스턴스에 대한 유효성 검사 모델을 유지해야하기 때문에 도전적입니다. 솔루션을 찾기 전에 - 를 사용하여 하위 형태를 표시하는 것과 같은 많은 방법을 시도했습니다. 마지막으로, 우리는 각 제품 유형에 대한 지침을 만듭니다 (각 지시문은
ng-submit
가 있습니다). 이를 통해 Angular의 부모-자식 양식 상속을 활용하여 모든 아동 양식이 유효 한 경우에만 부모 양식이 유효 할 수 있습니다. 이 튜토리얼에서는 간단한 제품 검토 화면 (현재 응용 프로그램의 주요 구성 요소를 강조 표시)을 작성합니다. 우리는 각각 고유 한 지침을 갖춘 두 가지 제품을 갖게되며 각 제품에는 고유 한 검증 규칙이 있습니다. 간단한 체크 아웃 버튼이 있으므로 두 양식 모두 유효합니다.실제로 어떻게 작동하는지보고 싶다면 데모로 직접 점프하거나 GitHub 저장소에서 코드를 다운로드 할 수 있습니다. - 를 사용하여 하위 형태를 표시하는 것과 같은 많은 방법을 시도했습니다. 마지막으로, 우리는 각 제품 유형에 대한 지침을 만듭니다 (각 지시문은
명령에 대한
<form></form>
지시문은 AngularJS의 HTML 컴파일러 ()를 통해 실행되고 DOM에 연결된 HTML 코드의 조각입니다. 컴파일러는 DOM을 가로 지르고 다른 등록 지시서를 사용하여 객체로 변환 할 수있는 구성 요소를 찾는 데 책임이 있습니다. 지시문은 고립 된 범위 내에서 작동하며 자신의 견해를 유지합니다. 응용 프로그램 전체에서 공유 할 수있는 재사용 가능한 구성 요소를 용이하게하는 강력한 도구입니다. 빠른 검토를 보려면이 기사 또는 AngularJS 문서를 확인하십시오. ngRepeat
지시문은 우리의 기본 문제를 두 가지 방법으로 해결합니다. 첫째, 각 인스턴스에는 고립 된 범위가 있습니다. 두 번째로, 서명기는 앵글 ngForm
지시를 사용하여 양식 요소를 인식합니다. 이 내장 지침을 사용하면 여러 중첩 형식 요소가 name에 대한 선택적 FormController
속성을 수락하고 양식 개체를 반환 할 수 있습니다.
>
사전 제작 된 검증 메소드 ngForm
FormController
및 기타 유효성 검사기가 포함됩니다. 그들은 거의 모든 HTML5 입력 유형을 이해하고 조작하도록 만들어졌으며 크로스 브라우저 호환입니다.
min
max
속성을 설정하지 마십시오. 이렇게하면 앵귤러가 양식이 왕복 방식으로 제출되지 않도록 노력하지 못하게됩니다. required
<input type="text" ng-model="size" ng-required="true" novalidate> <span ng-show="myForm.size.$error.required"> Size: The value is required! </span>
ngRequired
novalidate
를 주입해야합니다. 자세한 내용은 AngularJS 문서를 컨설팅하여 찾을 수 있습니다.
<<> 컨트롤러를 만듭니다 <🎜 🎜>가 포함됩니다.및
이제 응용 프로그램을 시작할 수 있습니다. 여기에서 컨트롤러 코드의 개요를 찾을 수 있습니다. action
컨트롤러는 사물의 중심에있을 것입니다. 그것은 몇 가지 책임이 있습니다. 그보기는 <🎜 🎜>라는 양식 요소를 가지고 있으며, 하나의 속성 만 가지고 있으며, 그 방법에는 <🎜 🎜>,
<<> 컨트롤러 속성 <🎜 🎜> <🎜 🎜>
<🎜 🎜> <<> 메소드 : regis
가 호출되면 a 및 명령 인스턴스화에서 생성 된 고유 한 지침 ID가 전달됩니다. 이 방법은 양식 범위를 부모 <🎜 에 추가합니다.
서비스를 사용하여 탐색하는 것이 좋습니다.
이 방법은 Angular의 능력을 사용하며 자식 형태는 부모 형태를 무효화 할 수 있습니다. 부모 양식은 속성은 사실이어야합니다. <<> 우리의 지침을 만듭니다 <🎜 🎜>
<<> - 요소 항목에 액세스하는 데 사용됩니다. 할당 된 요소 내의 <<> - 인스턴스화 지침의 동일한 태그에서 속성에 액세스하는 데 사용됩니다.
<<> - 외부 컨트롤러 종속성이 존재하면 링크 함수에 사용할 수 있습니다. 이들은 지침 객체의 매개 변수에 나열된 함수와 동일합니다. )을 무효화하고 다른 필드 레벨 오류를 설정하는 데 사용됩니다. 데모에서는 에 연결되어 유효성을 설정합니다.
in 로 잘못 채워지지 않도록합니다.
<🎜 🎜> <<> 명령보기 <🎜 🎜>
위의 <🎜 🎜>는 angular의 <🎜
FAQ
AngularJS에서 사용자 정의 양식 기반 지시문을 작성하려면 함수를 사용하여 새로운 지침을 정의하는 것이 포함됩니다. 지시문에 지침의 옵션 개체를 생성하는 이름과 공장 함수를 지시해야합니다. 이 객체는 , ,
지침은 입력, 선택, 텍스트 영역 또는 사용자 정의 양식 컨트롤을 스코프의 속성에 바인딩합니다. 모델과 뷰 사이에 양방향 데이터 바인딩을 제공합니다. 즉, 입력 필드의 변경 사항은 모델을 자동으로 업데이트하고 그 반대도 마찬가지입니다.
<input type="text" ng-model="size" ng-required="true" novalidate>
<span ng-show="myForm.size.$error.required">
Size:
The value is required!
</span>
$scope.formsValid = false;
registerFormScope
FormController
<🎜 🎜> <🎜 🎜> 서비스를 사용하면 성공 및 실패 상태가있는 인터페이스를 준수 할 수 있습니다. "편집"과 "저장"사이의 응용 프로그램 인터페이스의 특성은 모델 데이터의 편집에 따라 다릅니다. 사용자가 입력을 시작할 때 모델 데이터가 즉시 업데이트된다는 점에 유의해야합니다. FormController
<🎜 🎜> <<> 메소드 : 체크 아웃 $scope.registerFormScope = function (form, id) {
$scope.parentForm['childForm'+id] = form;
};
$q
<<> 격리 명령의 범위
에서 발생하는 업데이트가 기본 컨트롤러로 전파되도록합니다. FormController
<<> 객체 : 제품 <🎜 🎜>
이 개체에는 구매중인 제품에 대한 정보가 포함되어 있습니다. 우리의 데모는 속성이 몇 개있는 비교적 작은 물체를 사용합니다. 우리 팀의 실제 응용 프로그램에는 응용 프로그램에서 결정을 내릴 수있는 많은 정보가 있습니다. 확인되는 컨텐츠의 컨텍스트를 제공하기 위해 <<> 명령어 링크 <🎜 🎜>
<<> - 각 지침 인스턴스에 대해 생성 된 분리 범위에 액세스하는 데 사용됩니다.
validateChildForm
함수에서 요소를 업데이트하고 수정하는 것이 안전합니다. postLink
postLink
모든 DOM 리스너를 첨부하고보기 요소로 DOM을 업데이트 할 책임이 있습니다.
scope
<<> 랩핑 메소드 iElement
의 목적은 postLink
를 상위 컨트롤러로 보내는 것입니다. 새로 생성 된 양식을 <🎜 iAttrs
controller
로 전달됩니다. 컨트롤러는 다른 검증 규칙에 따라 구문 분석하거나 거부 할 약속을 반환합니다. require
parentForm
필드에서 간단한 후 검사를 사용하며 실패의 원인을 반환하지 않습니다. amount
의 거부는 응용 프로그램이 필요로하는 것만 큼 복잡하거나 간단 할 수 있습니다. validateChildForm
약속이 성공적으로 반환되면 명령은 형식의 필드의 유효성을 설정해야합니다. 코드는 또한 이전에 식별 된 서버 오류를 지우야합니다. 이렇게하면 지침이 사용자에게 잘못된 오류를 제공하지 않도록합니다. 모든 서브 형태가 유효하다면 $setValidity
parentForm
<<> 우리의 견해를 설정 <input type="text" ng-model="size" ng-required="true" novalidate>
<span ng-show="myForm.size.$error.required">
Size:
The value is required!
</span>
ng-repeat
검증기에 의해 시행되는 검증 모드를 설정합니다. 위의 필드는 각도에 의해 구축 된 ng-if
지시문을 사용하여 표현식을 평가하고, 사실이라면 필드는 비활성화됩니다. FormController
$scope.formsValid = false;
Angularjs의 양식 기반 지침은 양식의 사용자 입력을 관리하고 검증하는 데 중요한 역할을합니다. 새로운 사용자 정의 위젯 역할을하는 사용자 정의 HTML 태그를 만들 수있는 방법을 제공합니다. 또한 응용 프로그램에 기능을 추가하는 방식으로 DOM을 조작 할 수 있습니다. 이 지침은 애플리케이션 전반에 걸쳐 일반적인 기능을 캡슐화하고 재사용하려는 경우 특히 유용합니다.
옵션은 HTML에서 지시문이 호출되는 방법을 지정하는 데 사용됩니다.
AngularJS는 , , , 등을 포함하여 양식 검증에 대한 내장 지침을 제공합니다. 이 지침은 양식 입력에 유효성 검사를 추가하여 양식을 제출하기 전에 사용자 입력이 특정 기준을 충족하도록합니다. 보다 복잡한 검증 요구 사항에 대한 사용자 정의 검증 지침을 만들 수도 있습니다. .directive
restrict
Angularjs의 > template
는 양식 및 제어 상태를 추적하고 유효성을 확인하고 양식을 재설정하는 방법을 제공합니다. 양식 지침 내에서 자동으로 제공되며 컨트롤러, 기타 지침 또는 서비스에 주입 할 수 있습니다. scope
link
AngularJS의 restrict
지침을 사용하면 양식을 제출할 때 사용자 정의 동작을 지정할 수 있습니다. 를 사용하여 양식의 제출 이벤트를 처리하기 위해 JavaScript 코드를 작성하는 대신. 이는 양식이 유효하지 않은 경우 기본 양식 제출 동작을 방지 할 때 특히 유용합니다.
in 에서 의 주요 차이점은 다른 형태로
ng-required
가 중첩 될 수 있다는 것입니다. 이를 통해 관련 입력을 함께 그룹화하여 하위 형태로 검증 할 수 있습니다. 반면에 표준 ng-pattern
지침은 중첩을 지원하지 않습니다. ng-minlength
ng-maxlength
angularjs의 ng-model
지침을 사용하면 사용자가 입력을 변경할 때 사용자 정의 동작을 지정할 수 있습니다. 이 지침은 사용자가 양식을 제출하기를 기다리는 대신 입력 또는 선택을 완료 한 직후에 무언가를 수행하려는 경우 유용합니다.
ng-change
또는 파이프 라인을 사용하여 사용자 정의 유효성 검사 로직을 추가 할 수 있습니다.
위 내용은 AngularJS에서 양식 기반 지시를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사에서 시차 스크롤 및 요소 애니메이션 효과 실현에 대한 토론은 Shiseido 공식 웹 사이트 (https://www.shiseido.co.jp/sb/wonderland/)와 유사하게 달성하는 방법을 살펴볼 것입니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

동일한 ID로 배열 요소를 JavaScript의 하나의 객체로 병합하는 방법은 무엇입니까? 데이터를 처리 할 때 종종 동일한 ID를 가질 필요가 있습니다 ...

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

프론트 엔드에서 VSCODE와 같은 패널 드래그 앤 드롭 조정 기능의 구현을 탐색하십시오. 프론트 엔드 개발에서 VSCODE와 같은 구현 방법 ...
