日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > ExtJS 控件中的方法的重寫

ExtJS 控件中的方法的重寫

來源:程序員人生   發(fā)布時(shí)間:2014-03-04 10:09:38 閱讀次數(shù):3611次

  Ext中的表單提示, 有時(shí)候不是那么的盡人意, 于是我們就會(huì)想到重寫它的方法, 于是筆者寫我?guī)讉€(gè)例子試試:

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

//## 擴(kuò)展form驗(yàn)證
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 : '驗(yàn)證信息',
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;

  這是一個(gè)表單驗(yàn)證的例子, 再放一個(gè)添加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: '兩次輸入的密碼不一致!'
});

  上面這個(gè)就是驗(yàn)證兩次密碼的輸入是否一致,有時(shí)候看到FormPanel里的allowBlank提示是很不爽, 它只會(huì)提示 “該輸入項(xiàng)為必輸項(xiàng)” 這樣的提示總覺得不舒服, 于是筆者給他改成了這樣“用戶名不能為空!” 等等, 注明到底是哪個(gè)為必填項(xiàng),重寫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;
}

  它就會(huì)提示這樣

  文章轉(zhuǎn)自:http://www.cnblogs.com/xjlong/

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 中文字幕高清在线 | 久久久888| 黄色日批片 | 99久久夜色精品国产亚洲96 | 国产精品美女久久久免费 | 午夜精品久久久久久久久久久久久 | 久久国产成人精品 | 国产精品中文 | 久久狠 | 狠狠插狠狠操 | 国产三级欧美三级 | av福利在线 | 国产一区二区三区四区hd | 精品久久久国产 | 欧美成人激情视频 | 国产成人精品一区二区三区在线 | 国产一页| 男人懂的网站 | 日韩欧美在线一区二区三区 | 美女久久久久 | 一区二区三区高清不卡 | 999精品在线| 81精品国产乱码久久久久久 | 黄色动漫免费在线观看 | 国厂自拍| 免费国产网站 | 欧美日韩亚洲视频 | 成人天堂 | 快射视频在线观看 | 18久久久 | 91精品婷婷国产综合久久性色 | 91国产精品 | 91你懂的| 亚洲精品在线观看网站 | 亚洲20p| 一区二区三区成人 | 淫片在线观看 | 国产精品久久久久久影视 | 91大神在线看 | 91大神精品视频在线观看 | 成人亚洲免费 |