修改EXT的TextField的验证属性(allowBlank和maxLength)的提示信息.
TextField本身验证长度时把中文当1位来计算的,这样针对像oracle数据库的varchar2(10)这种数据类型在前台作长度限制时就不太好控制.EXT也没相关的可以设置的属性,当然可以用TextField的表达式验证来判断.我喜欢偷懒,所以直接重写TextField,顺便把blankText和maxLengthText属性默认成TextField的FieldLabel+提示信息.
/**
* @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;
}
}
});
分享到:
相关推荐
EXT表单验证之TextField,vtype 包括所有EXT中TextField的验证方式
这个是extjs文字输入框的简单介绍和使用,希望可以为你带来帮助
NULL 博文链接:https://lovebeyond.iteye.com/blog/440899
EXT dojochina文本框示例Ext.form.TextField.rar
带警示效果的TextField、改变光标起始位置;自由定制;
OC语言中,NSString类型的字符串,视英文字母和汉字都为一个长度(string.length把一个汉字也当做一个长度),而实际上,一个英文字母只占用1个字节,一个汉字占用2个字节。 有时又有需求,需要限定字节数目,而不是...
自定义textfield
Ext.form.TextField最简单的用法.docx
实现键盘的点击隐藏和解决textField被呼出键盘挡住的问题的简单代码
java语言,JAVA按按钮让TEXTFIELD获得按钮名字
1、Ext类 ………………………………… 2 2、Array类 …………………………… 4 3、Number类 …………………………… 4 4、String类 …………………………… 4 5、Date类 ……………………………… 5 6、Function类 ...
TextField-InputView, UITextField InputView模式:终结注册类、信息采集类
TextField多行输入(自动换行),小惊奇。仅仅只是导入了一个字体文件
支持换行 空格 加粗 颜色 字号 字体 源码放送 用TextField实现
xcode5.0.2 ios7.0 storyboard中设置背景图片+多个textfield,
手工创建TextField,TextField的属性基本上上面都描述了,以及键盘的回调方法
flutter在开发登陆界面的时候,输入内容后回车光标要跳转到下个TextField,有时FocusScope.of(context).requestFocus,不起作用,经过多次查找资料,最后找到一个相对适应实际应用的方法,提供源码下载 ,请查阅!...
ExtJs5 去掉textfield边框
以前有许多人需要将 tree 的节点拖拽到其他控件... 这个树的数据是静态的,没有做动态的,而且树节点的拖拽也没有做过多的处理,如果要知道怎么样做树拖拽保存新节点或者是动态取 json 数据的话,请参照我的另一封帖子 ...