ExtJS 양식 검증(동기식 검증 + 비동기식 검증)
2795 단어 ExtJs
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
문자열 길이를 계산하고 중국어로 두 개를 계산합니다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.