首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何防止在Ext文本字段中输入小数和负数-- Extjs

在Ext.js中,可以通过使用合适的验证器和控制器来防止在Ext文本字段中输入小数和负数。

  1. 使用验证器: 可以通过Ext.form.field.Number类的配置项来限制文本字段只允许输入整数。例如:
代码语言:txt
复制
Ext.create('Ext.form.Panel', {
    title: 'My Form',
    items: [{
        xtype: 'textfield',
        fieldLabel: '整数字段',
        name: 'integerField',
        allowDecimals: false, // 禁止输入小数
        allowNegative: false, // 禁止输入负数
        validator: function(value) {
            if (Ext.isEmpty(value) || /^[1-9]\d*$/.test(value)) {
                return true;
            }
            return '请输入有效的整数';
        }
    }]
});

上述代码中,allowDecimals配置项设置为false,表示不允许输入小数;allowNegative配置项设置为false,表示不允许输入负数。validator函数用于自定义验证逻辑,通过正则表达式验证输入的值是否为有效的整数。

  1. 使用控制器: 可以通过监听文本字段的change事件,在事件处理函数中过滤非法的输入。例如:
代码语言:txt
复制
Ext.create('Ext.form.Panel', {
    title: 'My Form',
    items: [{
        xtype: 'textfield',
        fieldLabel: '整数字段',
        name: 'integerField',
        listeners: {
            change: function(field, newValue, oldValue) {
                if (!Ext.isEmpty(newValue)) {
                    var intValue = parseInt(newValue);
                    if (isNaN(intValue) || intValue.toString() !== newValue) {
                        field.setValue(oldValue); // 恢复为旧值
                    }
                }
            }
        }
    }]
});

上述代码中,change事件处理函数将输入的值转换为整数,如果转换结果不是数字或转换后的字符串与原始输入值不一致,则将字段值恢复为旧值,从而防止小数和负数的输入。

总结: 通过验证器和控制器的方式,可以有效地防止在Ext文本字段中输入小数和负数。验证器提供了灵活的验证逻辑和自定义错误提示,而控制器则提供了实时的输入过滤和校正机制。根据具体情况选择合适的方式来实现需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ExtJs二(实现登录)

如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...一般的登录窗口都包含用户名、密码和验证码3个文本输入框,还包含有显示验证码的图片、登录和重置按钮。因而需要用到的ExtJS控件包括表单面板、图片、工具栏、按钮和文本字段。...这写法在Ext JS文件中始终贯穿其中,本着拿来主义的精神,好东西应该学一下。...formBind配置的作用是只有在表单内输入符合要求时才能使用该按钮,这个设计在Ext JS4也是新加入的,很方便,不再需要自己去写代码实现这个了。登录按钮将调用onLogin方法。...{ me.form.items.items[0].focus(true, 10); } me.onRefrehImage(); } 代码中要注意的是获取表单中第一个文本字段的代码

2.1K10

ExtJs二(实现登录)

如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...一般的登录窗口都包含用户名、密码和验证码3个文本输入框,还包含有显示验证码的图片、登录和重置按钮。因而需要用到的ExtJS控件包括表单面板、图片、工具栏、按钮和文本字段。...这写法在Ext JS文件中始终贯穿其中,本着拿来主义的精神,好东西应该学一下。...formBind配置的作用是只有在表单内输入符合要求时才能使用该按钮,这个设计在Ext JS4也是新加入的,很方便,不再需要自己去写代码实现这个了。登录按钮将调用onLogin方法。...{ me.form.items.items[0].focus(true, 10); } me.onRefrehImage(); } 代码中要注意的是获取表单中第一个文本字段的代码

1.9K20
  • EXT基础

    Ext的用户界面是依靠CSS的,但是CSS是通过为很多HTML元素提供样式来拼凑出Ext的组件的。唯一能够跨浏览器且保持精准大小的只有图片。所以图片被用来定义Ext组件的如何展现。...•getCmp方法用来获得一个Ext组件,也就是一个已经在页面中初始化了的Component或其子类的对象,getCmp方法中只有一个参数,也就是组件的id。...这里罗列出一些xtype: ·         textfield  文本框  常用 ·         timefield 下拉时间框  不常用 ·         numberfield 只能输入数字...============================   输入不能为空 new Ext.form.TextField({   name:'text',   fieldLable:'文本框',...菜单的所有itmes可以组合起来形成一些列可选择的按钮 xtype: 'tbsplit',分割菜单 就是按钮和菜单的结合。在使用它的时候只要在menu配置项目中添加按钮的属性就可以了。

    4.3K40

    Extjs-lesson4

    ❞ // 初始化提示信息,让下面的框框显示提示动作 Ext.QuickTips.init(); // 提示的方式在框框右边缘,参数的值有:"qtip","title","under","side",id...({ // 宽 width: 140, // 不允许文本框为空 allowBlank: false, // 文本框的最大长度为 20 个字符;超过 20 个字符仍然可以输入,但会有警告信息...: " cm", //不允许为空 allowBlank: false, //如果校验为空时的提示文字 blankText: "请输入身高" }); 3.2.1 重写文本框 //重写Ext.form.TextField...DateField 5.2 代码 //新建一个 DateField 日期字段对象 var datefield = new Ext.form.DateField({ //文本框前方显示文字(标签)...[3, "其他"] ], // 从上面数组中读取数据时,字段与数据一一对应解释为 Extjs 使用的数据 // 参数为 id 列,以及其他各个字段的名称 reader: new Ext.data.ArrayReader

    4.8K10

    Extjs form 组件

    文本框方式的 Ext.form.field.Trigger 触发器 Ext.form.field.Time  带有时间下拉框 和自动验证的input表单。...包装一组输入域的容器, Ext.form.FieldContainer  文本域容器 Ext.form.Panel   重要的配置项     title:'',             标题头     ...labelSeparator 字段名字和值的分割符号         labelWidth 标签宽度       重要的方法         Ext.form.field.Text  文本框(xtype...Field的invalidText中,任何’{0}’ 都会被替换成这个字段的值,’ {1}’会被替换成这个字段的format,下面的代码展示了如何使用这个特性自定义错误信息     自定义校验:       ...提交之前调用了isValid方法确保每个表单字段都已经填写正确    3.最后调用submit方法,并传递了两个回调函数success和failure,在这两个回调函数的参数中,action.result

    2K50

    工具栏和菜单

    在桌面程序开发中很常用也很简单的工具栏和菜单,但是在通常的web开发中,要实现好工具栏和菜单并非易事,然而ExtJS使我们能够用类似桌面程序开发的方法来开发web的工具栏和菜单。...菜单的种类很多,如下拉菜单、分组菜单、右键菜单等,菜单上的内容可以是文本、单选框、按钮等。在ExtJS中实现这些菜单都非常简单。...("提示","你点击了 "+btn.text+" 按钮"); } }); 我们在工具栏中加入按钮,分隔符,文本输入框等多种组件,这在很大程度上扩展了工具栏的功能。...1.3.1 简单的菜单栏 一个文本编辑软件的菜单栏大家应该非常熟悉,主要有文件菜单和编辑菜单,在文件下拉菜单中有3个菜单项,分别是新建、打开和关闭;在编辑下拉菜单中也有3个菜单项,分别是复制、粘贴和剪切...Ø ExtJS为我们提供了日期选择菜单Ext.menu.DateMenu和Ext.menu.ColorMenu,它可以让我们直接把日期选择功能和颜色选择功能加入到菜单中。 ​

    5810

    EXT按钮事件

    在EXT中,当我们要为按钮点击添加处理function的时候,可以看到一般人的实现分成2类: 1.使用onClick: function xx() 2.使用handler: function xx()...那么有人就会考虑,为什么EXT提供了2个功能一样的东西,或者说这2种方式有哪些细微的不同? 首先有一点需要明确,在Button中,onClick是一个方法,而handler是一个配置项。...(注:这里mon方法是Ext3.x中对on方法的升级版,为了防止内存泄漏之类的)。...onClick的方式是对EXT源码的重写和覆盖,而不是调用,会破坏EXT按钮中原有的逻辑。 同时可以注意到,onClick在源码中是被标注为//private的,API中也查不到这个方法。...handler与listener的区别 ExtJS里handler和listener都是用来对用户的某些输入进行处理的,有必要区分一下各自都是怎么用的。

    2.6K30

    Extjs mvc

    MVC的模式,模型(Models)和控制器(Controllers) Model模型 是字段和它们的数据的集合,例如User模型带有username和password字段,模型知道如何持久化自己的数据,...并且可以和其他模型关联,模型跟ExtJS 3 中的Record类有点像(区别是,Record只是单纯的扁平结构,而Model可以nest),通常都用在Store中去展示grid和其他组件的数据 View...视图 是组件的一种,专注于界面展示 - grid, tree, panel 都是view Controllers控制器 一个安放所有使你的app正确工作的代码的位置,具体一点应该是所有动作,例如如何渲染...view,如何初始化model,和app的其他逻辑 目录结构如下图所示: ?...boy'},         {id:2,name:'lisi', age:20,sex:'gril'}     ] }); demo 下载 https://github.com/ningmengxs/Extjs.git

    2.4K50

    基于QT的webkit与ExtJs开发CBS结构的企业应用管理系统

    然而谷歌浏览器和FireFox浏览器的核心都是WebKit(苹果公司开源的浏览器核心,负责解析HTML文本,并呈现到界面上),所以,要想让我们的CB/S+ExtJs结构的应用程序能有更好的表现,我们必须采用...另外,为了使标题栏和业务界面中ExtJs的风格一致,我们索性去掉了主窗口的标题栏和边框,直接使用ExtJs来生成。    ...,至于如何用ExtJs来渲染标题栏,以及如何实现标题栏的最小化及关闭等功能,将在后续小节讲述。   ...遇到的第一个问题并不是如何注册此对象,而是在何时注册。...在ExtJs中所有Ajax请求都离不开Ext.data.Connection类的支撑,我们可以使用ExtJs提供的观察者模式来注册Ext.data.Connection类的beforerequest事件

    3.4K80

    Ext基础

    在整个Ext 中,表格控件在界面和功能上都是最重要的,包括排序、缓存、拖动、隐藏列、显示行号以及编辑单元格等功能。...在实际开发环境中,开发者需要通过大量的工作来完善开发环境。使用 Ext可以填补这些缺陷。目前,主流开源框架中只有 DOJO与Ext在尝试提供整合的开发平台。...在 Ext 中,Grid控件和其他显示数据的控件能够支持多种数据类型 (二维数组、JSON数据和 XML数据等)甚至自定义的数据类型。...(2)在 reader 中增加配置,除了设置name属性外,还需要设置type 和 dateFormat属性。...n 在 Ext中,Grid控件和其他显示数据的控件能够支持多种数据类型 (二维数组、JSON数据和 XML数据等)甚至自定义的数据类型。

    15010

    ExtJS初体验

    最近公司的一个系统有用到Extjs框架,对于之前完全用JQuery的js插件的我来说,对Extjs的api并不熟悉。...没有封装任何控件,学习曲线小,程序员和前端必须要掌握的。 这两天体验了一下,如图: ?...; return; } 当我们在左侧点击编号为3的选择框时,会通过ajax方式从后台取数据显示在右侧维度字典列表组件中...继续演示ExtJS给我们带来的便利,当我们在右侧点击新增时,要求数据字典的值必须为值,否则弹框提醒用户,由于Extjs的特点只需加两句代码就可以搞定,如下代码中的标记处1和标记处2, //字典类型添加、...="font-size:14px;color:#ff0000;"> regex: /^[0-9]*$/, (标记处1) regexText : '亲,请输入数字好吗

    2.1K10
    领券