多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > ExtJS 控件中的方法的重寫

ExtJS 控件中的方法的重寫

來源:程序員人生   發布時間:2014-03-04 10:09:38 閱讀次數:3601次

  Ext中的表單提示, 有時候不是那么的盡人意, 于是我們就會想到重寫它的方法, 于是筆者寫我幾個例子試試:

Ext.form.FormPanel.prototype.submit = function(){
if(!this.form.isValid(true))
this.validateItems();
else
return this.form.submit.apply(this.form,arguments)
}

//## 擴展form驗證
Ext.form.FormPanel.prototype.validateItems = function()
{
try
{
var items = this.items.items;
var blanks = "";
var errorFields = [];

for(var i = 0; i < items.length; i ++ )
{
if( ! items[i].isValid(true))
{
if(items[i].blankText.indexOf("This is") == -1)
items[i].blankText = items[i].fieldLabel+"不能為空!";
blanks += items[i].blankText + "<br/>";
errorFields.push(items[i]);
}
}
blanks = blanks.substr(0, blanks.length - 5);
Ext.Msg.show(
{
title : '驗證信息',
icon : Ext.MessageBox.ERROR,
buttons : Ext.MessageBox.OK,
width : 350,
msg : blanks.toString(),
fn : function()
{
for(var i = 0; i < errorFields.length; i ++ )
{
errorFields[i].reset();
}
errorFields[0].selectText();
errorFields = null;
return;
}
});
}
finally
{
blanks = null;
items = null;
}
};
Ext.form.BasicForm.prototype.validateItems = Ext.form.FormPanel.prototype.validateItems;

  這是一個表單驗證的例子, 再放一個添加vtype類型的代碼:

Ext.apply(Ext.form.VTypes,{

password: function(val,field) {
if(field.passField) {
var pwd=Ext.getCmp(field.passField);
return (val==pwd.getValue());
}
return true;
},

passwordText: '兩次輸入的密碼不一致!'
});

  上面這個就是驗證兩次密碼的輸入是否一致,有時候看到FormPanel里的allowBlank提示是很不爽, 它只會提示 “該輸入項為必輸項” 這樣的提示總覺得不舒服, 于是筆者給他改成了這樣“用戶名不能為空!” 等等, 注明到底是哪個為必填項,重寫Ext的 方法代碼如下:

Ext.form.TextField.prototype.validateValue = function(value){

if(Ext.isFunction(this.validator)) {
var msg=this.validator(value);
if(msg!==true) {
this.markInvalid(msg);
return false;
}
}
if(value.length<1||value===this.emptyText) {
if(this.allowBlank) {
this.clearInvalid();
return true;
} else {
if(this.blankText.length == 5)
this.markInvalid(this.fieldLabel + this.blankText);
else
this.markInvalid(this.blankText);
return false;
}
}
if(value.length<this.minLength) {
this.markInvalid(String.format(this.minLengthText,this.minLength));
return false;
}
if(value.length>this.maxLength) {
this.markInvalid(String.format(this.maxLengthText,this.maxLength));
return false;
}
if(this.vtype) {
var vt=Ext.form.VTypes;
if(!vt[this.vtype](value,this)) {
this.markInvalid(this.vtypeText||vt[this.vtype+'Text']);
return false;
}
}
if(this.regex&&!this.regex.test(value)) {
this.markInvalid(this.regexText);
return false;
}
return true;
}

  它就會提示這樣

  文章轉自:http://www.cnblogs.com/xjlong/

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 自由成熟的性色视频免费观看 | 亚洲精品欧美精品国产精品 | 免费一级大毛片a一观看不卡 | 国产伊人自拍 | 国产成人久久综合漫画 | 亚洲天堂在线视频播放 | 黑人极品巨大videoshd | 特级做a爰片毛片免费看一区 | 永久在线观看视频 | 亚洲涩福利高清在线 | 免费一级做a爰片性色毛片 免费一看一级毛片 | 波多野结衣在线中文字幕 | 欧美一级精品高清在线观看 | 天堂在线影院 | 曰本裸色私人影院噜噜噜影院 | 免费观看性欧美特黄 | 视频在线观看免费网址 | 亚洲丶国产丶欧美一区二区三区 | 在线黄视频网站 | 国产jizz18高清视频 | 午夜老司机在线观看 | 精品久久久久久久一区二区手机版 | 国产另类图片 | 老王影院在线观看 | 欧美一级aⅴ毛片 | 亚欧美 | 爱爱网站免费 | 欧美日韩一区二区三区视频在线观看 | 欧美777 | 爱爱视频免费网址 | 亚洲伊人久久大香线蕉苏妲己 | 最近好看中文字幕视频 | 亚洲在线中文 | 在线亚洲播放 | 亚洲小视频在线观看 | 国产欧美综合精品一区二区 | 伊人网成人 | 亚洲天堂小视频 | 国产成人麻豆精品 | 视色在线| 老妇女人一级毛片 |