angularjs validation

북마크 추가

 

- angularjs는 client-side에서 간단한 validation을 제공한다.

 

1.required

 

 input form에서 값을 입력했는지 검사한다.

 

<input type="text" required />

 

값을 입력하지 값을 입력하라는 pop-over가 나타난다.

 

2.min-length, max-lenght

 

각각 최소글자수와 최대 글자수를 설정 할 수 있다.

 

<input type="text" ng-minlength=5 />

 

<input type="text" ng-maxlength=10 />

 

3. 정규식 검사 pattern검사


ng-pattern="/PATTERN/"의 형식으로 사용하며 패턴에 정규식을 대입하여 검사 할 수 있다.

 

<input type="text" class="form-control" ng-pattern="/^[\d가-힣A-Za-z]+$/">

 

위와 같이 사용하면 한글과 영어만 입력이 가능하다.

 

4. E-mail , Number

 

 input name을 email로 설정하면 email 주소가 맞는 지 검사 할 수 있다.

 

<input type="email" name="email" ng-model=" " />

 

type을 number로 하게 되면 숫자가 포함되었는지 검사한다.

 

<input type="number" name="email" ng-model=" " />

 

5. Url

 

입력값이 url 형식인지 검사한다.

 

<input type="url" name="homepage" ng-model=" " />

 

6. valid form , invalid form

 

boolean형으로 valid form은 결과가 true이면 true를 반환하고 invalid form은 결과가 false일때 true를 반환 한다. 

 

다음과 같이 조건식에서 사용 할 수 있다.

 

formName.inputFieldName.$valid​ -> form의 input이 true이면 결과는 true 

 

alert(formName.inputFieldName.$valid​)​; 를 하면 true가 출력된다.

 

반대로 $invalid를 사용 했다면 false일경우 true가 반환되기 때문에 필수 입력 화면에서 입력값이 없다거나  할 경우 사용자에게  보여주는것 등에 응용 할 수 있다.

 

ex) <span ng-show="userId">아이디를 입력하세요</span>

 

<script>

if(signUp.userId.$invalid){

$scope.userId = true;    // hidden 상태인 span을 출력

}

</script>

 

 

7. Errors

 

모든 validation에서 false 면 true를 반환한다.

 

formName.inputfieldName.$error

 

ex)

 

if ( !$scope.memberForm.pwd1.$error.minlength){

//비밀번호가 최소길이 이상일 경우 -> 참일 경우

}

 

AD
관리자
2014-08-11 07:51
SHARE