Ext TextField默認提示信息,並支持中文按2個長度計算
/**
* @class Ext.form.TextField
* @override Ext.form.TextField
* @description 修改TextField的默認提示信息,並支持中文2位的計算
*/
Ext.override(Ext.form.TextField,{
//重寫驗證涵數
validateValue : function(value){
if(this.allowBlank == false){ //不允許爲空
if(value == null || value == ''){
this.markInvalid(String.format(this.blankText,value));
return false;
}
}
var maxLen = this.maxLength;
var maxLenText = this.maxLengthText;
if(maxLenText.indexOf('{0}') != -1){
if(maxLen != null && maxLen != 'undefined' && maxLen > 0){
var regex = /[^\x00-\xff]/g; //中文正則
var len ;
if(value instaceof String){
//將中文替換成2位字符
len = value.replace(regex,'**').length;
}else{
len = value.length;
}
var label = this.fieldLabel;
if(label != null && label != 'undefined'){
//去掉fieldLabel中生成的不必要字符
if(label.indexOf('</') != -1 ){
label = label.substring(label.lastIndexOf('>')+1, label.length);
}
if(len > maxLen){
//驗證未通過,並設置提示信息
this.markInvalid(String.format(label+'長度不能大於'+maxLen+'位!(中文佔2位)'));
return false;
}
return true;
}
}
}else{
var len = value.length;
if(len > maxLen){
this.markInvalid(String.format(maxLenText ,value));
return false;
}
return true;
}
}
});
* @class Ext.form.TextField
* @override Ext.form.TextField
* @description 修改TextField的默認提示信息,並支持中文2位的計算
*/
Ext.override(Ext.form.TextField,{
//重寫驗證涵數
validateValue : function(value){
if(this.allowBlank == false){ //不允許爲空
if(value == null || value == ''){
this.markInvalid(String.format(this.blankText,value));
return false;
}
}
var maxLen = this.maxLength;
var maxLenText = this.maxLengthText;
if(maxLenText.indexOf('{0}') != -1){
if(maxLen != null && maxLen != 'undefined' && maxLen > 0){
var regex = /[^\x00-\xff]/g; //中文正則
var len ;
if(value instaceof String){
//將中文替換成2位字符
len = value.replace(regex,'**').length;
}else{
len = value.length;
}
var label = this.fieldLabel;
if(label != null && label != 'undefined'){
//去掉fieldLabel中生成的不必要字符
if(label.indexOf('</') != -1 ){
label = label.substring(label.lastIndexOf('>')+1, label.length);
}
if(len > maxLen){
//驗證未通過,並設置提示信息
this.markInvalid(String.format(label+'長度不能大於'+maxLen+'位!(中文佔2位)'));
return false;
}
return true;
}
}
}else{
var len = value.length;
if(len > maxLen){
this.markInvalid(String.format(maxLenText ,value));
return false;
}
return true;
}
}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.