필수와 필수의 차이점은 무엇입니까?


답변:


421

AngularJS 양식 요소는 required유효성 검증 기능을 수행하기 위해 속성을 찾습니다 . 부울 테스트에 따라 속성 ng-required을 설정할 수 있습니다 required(예 : 필드 A ( 예 : 학생 번호) -필드 A에 특정 값이있는 경우 - "학생"을 선택했을 경우 )

예를 들어, <input required><input ng-required="true">본질적으로 같은 것입니다

이것이 이런 식 인지 궁금해 하는 경우 (및 단순히 <input required="true">또는 아닙니다 <input required="false">), HTML의 한계 때문입니다- required속성에는 값이 없습니다-HTML 존재에 따라 요소가 필요하다는 단순한 존재 수단- 따라서 각도에는 필요한 값을 설정 / 설정 해제하는 방법이 필요합니다 ( required="false"유효하지 않은 HTML 일 것입니다)


ng-required를 각각 제거하려면 어떻게해야합니까? 내가 성공하지 못한 jquery 메소드를 시도했기 때문에
themhz

28
잘 모르겠습니다. 실제로는 ng-required = "true"를 사용하지 않고 ng-required = "scopedVariable"또는 ng-required = "scopeTruthTest ()"및 변수 / 함수는 요소가 필요한지 여부를 결정합니다. 각도 응용 프로그램에서 jquery를 사용하여 이러한 일을 망치지 마십시오. 그렇지 않으면 예기치 않은 결과가 발생합니다!
Tiago Roldão

ng-required는 '이 필드는 필수입니다'라는 기본 툴팁 스타일 오류 메시지를 표시한다는 점을 언급 할 가치가 있습니다. 나는 그것을 끄는 방법을 찾고 있습니다
Adam Spence

2
실제로는 그렇지 않습니다. 확실하지 않지만, 당신이 말하는 것은 대부분의 최신 브라우저가 자동으로 수행하는 html5 유효성 검사라고 생각합니다. 이를 제어하려면 (브라우저의 기능을 사용하지 않도록 설정) novalidate : 속성을 추가 할 수 있습니다 <form method="post" action="/foo" novalidate>. 다시, 이것은 angularJS와 관련이없는 html5 속성입니다.
Tiago Roldão

ng-required범위 / 컨트롤러 변수를 가리킬 때 Angular는 변경 사항을 모니터링하고 그에 따라 필요한 속성을 설정해야합니다. 간단한 HTML required속성 의 경우 유연성이 없습니다. 아니? 우리가 같은 주제에있는 동안 ng-attr-required어떨까요? 정확히 동일 ng-required합니까?
AsGoodAsItGets

78

tiago의 답변에 대한 애드온을 만들고 싶습니다 .

동일한 속성을 사용 ng-show하고 추가하는 요소를 숨기고 있다고 가정하십시오 required.

<div ng-show="false">
    <input required name="something" ng-model="name"/>
</div>

다음과 같은 오류가 발생합니다.

name = ''의 유효하지 않은 양식 컨트롤은 초점을 맞출 수 없습니다

요소 required에 대한 유효성 검사를 강요 할 수 없기 때문 hidden입니다. 를 사용 ng-required하면 필요한 유효성 검사 를 조건부로 쉽게 적용 할 수 있습니다 .


13
확실히 좋은 팁 ng-if이며 ng-show/ 대신 ng-hide잠재적 문제를 회피하기 위해 사용할 수도 있습니다 .
jkjustjoshing 2016 년

1
이것은 정답입니다. 숨겨진 요소 (ng-show = "false")가있는 경우 ng-required = "true"와이 답변에 설명 된 것처럼 '필수'간에 차이가 있으며이 차이로 인해 뜨거운 물에 빠졌습니다.
Ivan Krivyakov

17

HTML 속성은 required="required" 이 필드가 유효 형태 위해서는 필요하다는 브라우저를 말하는 문입니다. ( required="required"XHTML 형식이며 사용하는 required것은 동일합니다)

각도 속성 ng-required="yourCondition" 수단 '애드 팍 (yourCondition)'과는 HTML 특성을 설정 동적으로 당신이 당신의 상태에 따라하십시오.

또한 HTML 버전은 혼란 스럽 습니다. 또는 조건부 로만 쓸 수 없으며 속성의 존재 만 중요합니다 (현재는 true를 의미 함)! 이것은 Angular가 당신을 도와주는 곳입니다 .required="true"required="false"ng-required


예, 슬프게도 브라우저는 너무 기술적 인 것으로 간주 될 수있는 사실 / 거짓을 허용하지 않습니다 ...
Christophe Roussy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.