가장 핵심적인 함수는 validate 라는 함수이다. 이 함수는 jQuery를 통해 폼 요소에 추가된다. 따라서 기본 사용법은 아래와 같다.
$("#myform").validate({});
이 함수는 form에서 submit 이벤트가 발생할 때 자동적으로 호출되기 때문에 별도로 호출할 필요는 없다.
validate 함수의 파라미터로는 options 객체가 들어가는데 이 객체의 속성과 거기에 어떤 value를 할당하는가가 중요하다.
$("#myform").validate({
rules:{/*체크할 validation 항목*/},
messages:{/*validation 처리에 실패했을 때 보여줄 메시지*/},
submitHandler:function(){}// form 전송 이외에 ajax등 어떤 동작이 필요할 때
});
먼저 rules는 value로 다른 객체를 갖는데 화면의 어떤 input 요소에 대해 어떤 validation을 체크할 것인지 설정한다.
messages는 rules에서 설정했던 validation 항목이 실패했을 때 화면에 보여줄 메시지로 일반적으로 rules와 짝을 이뤄서 작성된다.
submitHandler는 함수를 작성하는데 만약 form을 submit 하지 않고 ajax와 같이 처리하고자 할 경우 작성한다. 단순히 form 전송으로 처리할 경우는 작성할 필요가 없다.
3. rules와 messages 작성
먼저 rules에 대해 살펴보자.
rules 역시 다른 객체를 가질 수 있는데 이 객체는 다시 input 요소의 name(주의!! id가 아니다) 을 키로, 그 요소에서 체크할 항목들로 작성된다.
$("#myform").validate({
rules:{
name: {
required: true,
rangelength: [2,10]
},
email:{
email: true
}
},
messages:{/*validation 처리에 실패했을 때 보여줄 메시지*/},
submitHandler:function(){}// form 전송 이외에 ajax등 어떤 동작이 필요할 때
});
위의 예는 하나의 rules 안에 name과 email 요소의 validate 체크 항목을 지정한다. name은 required니까 필수여야 하고 rangelength에서 범위를 2~10글자로 한정한다. email은 email의 형식을 지켜야 한다.