ExtJS 양식 검증(동기식 검증 + 비동기식 검증)

2795 단어 ExtJs
1. 폼 검증 오류 알림 방식
Ext.QuickTips.init();//Ext 구성 요소에 대한 알림 정보 기능 제공Ext.form.Field.prototype.msgTarget='side';//오류가 발생하는 방식을 나타냅니다.
qtip- 마우스가 컨트롤 위로 이동할 때 알림//기본값은 qtip입니다. 이 방법은 Ext.QuickTips를 선언해야 합니다.init();title 초기화 - 브라우저 제목에 표시
under - 컨트롤 밑에 오류 알림side 보이기 - 컨트롤 오른쪽에 오류 아이콘을 표시하고 마우스가 아이콘을 가리킬 때 오류 알림을 표시합니다.기본값.id-[element id] 잘못된 프롬프트가 지정된 id의 HTML 컴포넌트에 표시됩니다.
2. Extj 자체 인증 방식
(1) 기본 방식
allowBlank: Boolean//컨트롤이 비어 있는지 여부 blankText: String//비어 있을 때 알림 메시지
minLength: Number//최단 길이 minLengthText: String maxLength: Number maxLengthText: String//최장 길이
(2) 정규 표현식
     
{// 
				fieldLabel : ' ',
				xtype : 'textfield',
				width:'250px',
				emptyText : ' ',
				name : 'cellphone',
				allowBlank : false,
				blankText : ' ',
				minLength : 11,
				minLengthText : ' 11 ',
				regex : /^1(3|5|8)[0-9]{9}$/,
				regexText:' '
			},

(3) vtype 방식
예: Ext.form.VTypes에서는 몇 가지 자주 사용하는 검증 방식을 제공합니다. 상기 컨트롤에 속성 vtype:'email'을 추가하면 스스로 검증을 쓸 수 있습니다.
(4) validator 사용자 정의 함수 검증 validator 작성: Function
예:
{// 
				fieldLabel : ' ',
				xtype : 'textfield',
				emptyText : ' ',
				name : 'email',
				id:'emailId',
				allowBlank : false,
				width:'250px',
				blankText : ' ',
				invalidText:' ',
				validationEvent : 'blur',
				validator : function(){
						Ext.Ajax.request({
						    	url : 'checkRegEmail.do',
						    	params : {email:Ext.getCmp("emailId").getValue()},
						    	scope : true,
						    	method : 'POST',
						        callback : function(options,success,response){
						    	  if(success) {
						    		  var data = eval(response.responseText);
						    		  if(response.responseText=="true"){
						    		     returnValue(false);
						    		  } else if(response.responseText=="false"){
						    		     returnValue(true);
						    		  }
						    	  }
						       }
						});
						function returnValue(ok){
							IsExist = ok;
						}
						return IsExist;
		       }//end_validator

 
상술한 제4중 방식은 다음과 같은 몇 가지를 주의한다
(1) 이 검증은 동기화 요청을 사용합니다. 비동기화 요청을 사용하면 Ext는 비동기화 값을 기다리지 않고 false를 되돌려줍니다. 검사 함수는 false를 계속 되돌려줍니다.
(2) returnValue 함수의 작용 역시 검증 함수가 특정한 시기에 validation Event:'blur'와 같이 되돌아오는 것을 보장할 수 있다.
(3) extjs3의 동기화 요청 방법:http://lovezehui.iteye.com/admin/blogs/2065387
 

좋은 웹페이지 즐겨찾기