[forms] AngularJS를 사용하여 조건부로 양식 입력을 요구할 수 있습니까?
AngularJS를 사용하여 주소록 응용 프로그램 (구성된 예)을 작성한다고 가정하십시오.
우리는 이메일과 전화 번호에 대한 입력을 가진 연락처 양식을 가지고 있으며 둘 중 하나 를 요구 하지만 둘다 는 email
필요 phone
하지 않습니다 . 입력이 비어 있거나 유효하지 않은 경우에만 입력이 필요 하고 그 반대도 마찬가지입니다.
Angular에는 required
지시문이 있지만이 경우 사용법을 문서에서 명확하지 않습니다. 조건부 양식 필드를 어떻게 요구할 수 있습니까? 사용자 지정 지시문을 작성 하시겠습니까?
답변
사용자 지정 지시문을 작성할 필요가 없습니다. Angular의 문서는 훌륭하지만 완전하지는 않습니다. 실제로ngRequired
Angular 식을 취하는 지시문이 있습니다.
<input type='email'
name='email'
ng-model='contact.email'
placeholder='your@email.com'
ng-required='!contact.phone' />
<input type='text'
ng-model='contact.phone'
placeholder='(xxx) xxx-xxxx'
ng-required='!contact.email' />
보다 완벽한 예는 다음과 같습니다. http://jsfiddle.net/uptnx/1/
답변
다른 것이 쓰여지면 필요한 입력을 원한다면 :
<input type='text'
name='name'
ng-model='person.name'/>
<input type='text'
ng-model='person.lastname'
ng-required='person.name' />
문안 인사.
답변
간단하게 각도 검증을 사용할 수 있습니다 :
<input type='text'
name='name'
ng-model='person.name'
ng-required='!person.lastname'/>
<input type='text'
name='lastname'
ng-model='person.lastname'
ng-required='!person.name' />
이제 하나의 텍스트 필드에만 값을 채울 수 있습니다. 성이나 이름을 채울 수 있습니다. 이런 식으로 AngularJ에서 조건부 필수 채우기를 사용할 수 있습니다.
답변
Angular2의 경우
<input type='email'
[(ngModel)]='contact.email'
[required]='!contact.phone' >