2014-10-02 6 views
15

필드가 올바르지 않으면 "등록"버튼을 클릭하지 못하도록하고 싶습니다. 그 중 일부는 특정 필드를 채워야한다는 것입니다. 그러나 상태는 조금 길어지기 시작합니다 :ngDisabled를 사용하여 하나 이상의 입력 필드가 비어있는 경우 버튼을 비활성화하십시오.

<button class="btn btn-success" ng-click="register()" 
    ng-disabled="signInForm.$invalid || form.firstName.length==0 || 
    form.lastName.length==0 || form.email.length==0 || 
    form.password.length==0 || form.passwordBis.length==0">Register</button> 

어떻게 간단하게 할 수 있습니까?

+1

당신은 단지 모든 입력에 대해'required' 속성을 제공해야하고 할 '<버튼 클래스 = "BTN BTN-성공"= NG 클릭 "(등록)" NG -disabled = "signInForm. $ invalid> 레지스터' – PSL

답변

25

입력란에 입력란에 required 속성을 입력하면 양식이 채워질 때까지 signInForm이 유효하지 않습니다. 마찬가지로 입력에 다른 유효성 검사 속성도 제공 할 수 있습니다.

예 : -

<input type="text" ng-model="firstName" name="firstName" required /> 
    <input type="text" ng-model="lastName" name="lastName" required /> 
    <input type="email" ng-model="email" name="email" required /> 
    ... 
    ... 
    <button class="btn btn-success" ng-click="register()" 
      ng-disabled="signInForm.$invalid">Register</button> 
+0

당신이 옳은 것처럼 보입니다 : http://jsfiddle.net/mgmp6L0b/하지만 제 경우에는 작동하지 않습니다 ... 나는 동일한 프레임 워크 ... 저는 AngularJS v1.2.25를 가지고 있으며 "toto @ to"는 위의 JSFiddle 예제가 아닌 내 코드에서 유효합니다. 또한 코드에서 동작을 변경하지 않아도됩니다. ? – Elfayer

+0

나는 plunkr에 붙여 넣을 수있는 바이올린 액세스 권한이 없습니다. 이메일 유효성 검사기 패턴을 가진 ug ... – PSL

+0

당신이 말하는 내용을 이해합니다. 문제는 html5 전자 메일 유효성 검사 및 각도와 더 관련이 있습니다. 공식 문서의 데모에서도 동일하게 사용하면 동일하게 볼 수 있습니다. https://docs.angularjs.org/api/ng/input/input%5Bemail%5D 당신은'ng-pattern'을 제공하여 자신 만의 패턴을 사용할 수 있습니다 – PSL

관련 문제