今天要求对form表单验证,进行系统学习一下,故做了几个示例:

Ext.onReady(function(){
        var panel=Ext.create('Ext.form.Panel', {
           title:"test the valition"
            ,width:650
            ,layout:"anchor"
            ,renderTo:Ext.getBody()
            ,defaults:{
                margin:"5 0 8 10"
                ,labelWidth:150
                ,width:500
            }
            , defaultType: "textfield"
            ,items:[
                {xtype:"container"
                 ,html:"1.进行远程数据验证,验证不立即执行,而是当鼠标失去焦点才进行验证!"
                 }
                 ,{
                fieldLabel:"remote validation"
                ,itemId:"show"
                , xtype:'textfield'
                ,labelAlign:"left"
                ,msgTarget: 'side'
                ,validateOnChange:false       //设置该属性为false,不立即进行验证,而是当鼠标焦点离开进行验证
                ,plugins:[{ptype:"uxvalidation"}] //自定义远程验证插件,里面调用ajax方式进行后台验证,其实也可以使用validator实现相同的效果。
                ,remoteValidator: {
                    params:{
                        LoginName:"#show" //(通过itemId寻找对应控件)
                    }
                    ,url:"test.ashx"
                }
                ,listeners:{
                    errorchange:function(lbl,error){
                        var me=lbl;
                    }
                }
            }
                 ,{  xtype:"container"
                 ,html:"2.进行本地验证(提示类型为under),错误信息将会在下面显示出来"
                 }
                 ,{
                fieldLabel:"local validation (number)"
                ,itemId:"showTwo"
                ,xtype:"textfield"
                ,labelAlign:"left"
                ,msgTarget:"under"
                ,minLength:5
                ,vtype:"number"
            }
                 ,{  xtype:"container"
                ,html:"3.本地和远程验证,只有当本地验证通过,才会调用后台验证"
            }
                 ,{
                fieldLabel:"local and remote validation"   //本地和后台都进行验证,只有当本地验证通过,才会调用后台验证
                ,itemId:"showThree"
                ,xtype:"textfield"
                ,labelAlign:"left"
                ,msgTarget:"side"
                ,vtype:"number"
                ,minLength:5
                ,plugins:[{ptype:"uxvalidation"}]
                ,remoteValidator: {
                    params:{
                        LoginName:"#showThree" //(通过itemId寻找对应控件)
                    }
                    ,url:"test.ashx"
                }
            }
                 ,{  xtype:"container"
                 ,html:"4.不立即进行验证,当鼠标失去焦点才进行验证,错误信息将以title形式提醒"
                  }
                 ,{
                fieldLabel:"Email(title)"
                ,itemId:"showFour"
                ,xtype:"textfield"
                ,labelAlign:"left"
                ,msgTarget:"title"
                ,vtype:"email"
                ,validateOnChange:false       //通过设置该属性为false ,不立即进行验证,而是当鼠标离开的时候才进行验证
            }
                 ,{  xtype:"container"
                 ,html:"5.直接使用正则进行验证,regex(而不是vtype)验证"
                 }
                 ,{
                fieldLabel:"regex validation (email)"
                ,itemId:"showFive"
                ,id:"five"
                ,xtype:"textfield"
                ,labelAlign:"left"
                ,msgTarget:"side"
                ,regex:/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i    //直接正则验证
                ,regexText:"邮件格式不正确!"
            }
                 ,{  xtype:"container"
                 ,html:"6.直接使用函数验证,validator(而不是vtype)验证"
                 }
                 ,{
                fieldLabel:"validator function (number)"
                ,itemId:"showSix"
                ,xtype:"textfield"
                ,labelAlign:"left"
                ,maskTarget:"none"
                ,vtype:"number"
                ,minLength:6
                ,validator:function(value){      //直接进行函数验证 ,也可以在里面进行远程验证
                    if(value==3)
                        return "请不要输入该数字!";
                    else
                        return true;
                }
            }
                 ,{  xtype:"container"
                 ,html:"7.直接显示错误文本信息,通过配置msgTarget为id"
                 }
                 ,{
                xtype:"container"
                ,layout:"column"
                ,width:640
                ,items:[
                    {
                        fieldLabel:"the first input"
                        ,itemId:"first"
                        ,xtype:"textfield"
                        ,labelAlign:"left"
                        ,minLength:5
                        ,msgTarget:"showText"    //通过配置id属性,改变错误信息显示的位置,直接展示文本信息
                        ,errorMsgCls:"show"
                        ,labelWidth:150
                        ,width:500
                        ,margin:"0 2 2 0"

}
                    ,{
                        xtype:"container"         //等待显示错误文本信息的容器
                        ,id:"showText"
                        ,html:"test test"
                        ,width:130
                    }
                ]

}
                 ,{  xtype:"container"
                ,html:"8.验证和目标控件值是否一致,通过配置target:'itemId'为目标控件"
            }
                 ,{
                 fieldLabel:"the second input"
                 ,itemId:"second"
                 ,xtype:"textfield"
                 ,labelAlign:"left"
                 ,msgTarget:"side"
                 ,target:"first"    //通过赋值target属性(其值为要匹配项的itemId)匹配对应的控件,进行相同值比较
                 ,vtype:"twiceInput"
                }
            ]

});
        });

Extjs 表单验证后,几种错误信息展示方式的更多相关文章

  1. extjs表单验证

    extjs表单验证 //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext ...

  2. asp.net 登陆验证 Form表单验证的3种方式 FormsAuthentication.SetAuthCookie;FormsAuthentication.RedirectFromLoginPage;FormsAuthenticationTicket

    我们在登陆成功后,使用下面的3种方法,都是同一个目的:创建身份验证票并将其附加到 Cookie, 当我们用Forms认证方式的时候,可以使用HttpContext.Current.User.Ident ...

  3. NSS_08 extjs表单验证

    Extjs做了非常好的表单验证功能, 使用起来非常方便. 系统内置了4种验证功能,分别是alpha, alphanumeric,url, email, 在程序中可以直接使用,(可以结合allowBla ...

  4. JQuery插件使用之Validation 快速完成表单验证的几种方式

    JQuery的Validation插件可以到http://plugins.jquery.com/上去下载.今天来分享一下,关于这个插件的使用. 简易使用 这第一种方式可谓是傻瓜式的使用,我们只需要按照 ...

  5. ace+validate表单验证(两种方法)

    //修改密码(直接在validate中验证提交) $("#changePassword").on(ace.click_event, function() { var html = ...

  6. bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...

  7. jQuery表单验证的几种方法

    1.jQuery的框架的验证:validate框架 Jquery Validate 验证规则 (1)required:true 必输字段(2)remote:”check.PHP” 使用ajax方法调用 ...

  8. Extjs表单验证小结

    //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext.form.Fiel ...

  9. 关于extjs表单布局的几种方式

    一.用column布局 layout:'column', defaults:{ style:'float:left;margin:4px;', columnWidth: 0.49, msgTarget ...

随机推荐

  1. eclipse debug maven项目时出现缺少库的问题

    调试maven web项目时出现缺少库的情况导致项目无法启动  可是打包到tomcat发布却一切正常 后来在stackoverlow上找到了解决方案 项目右键属性->Deployment Ass ...

  2. MyEclipse 8.5汉化教程

    汉化包下载:http://yunpan.cn/QIUaVS2CU5wCd 1.解压MyEclipse中的language文件夹 以我的安装目录为例,我的MyEclipse8.5的安装在D:盘下.将解压 ...

  3. c#跨线程访问控件帮助类

    1.背景 对于winform程序来说,当我们点击按钮,需要消耗一定时长才能拿到数据后才能显示在界面上某个控件上的情况,我们通常会专门开一个线程去拿数据,这样不会造成界面处于假死状态 2.常规做法 // ...

  4. [ASP.NET]书店后台开发-模板页

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="admin.master.c ...

  5. MySQL for Visual Studio Version

    MySQL for Visual Studio Version Connector/Net Version Supported Visual Studio Version Supported MySQ ...

  6. VS2010项目的部署与安装

    VS2010项目的部署与安装 转自:http://www.cnblogs.com/smile-wei/archive/2012/07/06/2579607.html winform程序,我想进行安装. ...

  7. [Docker] docker 基础学习笔记6(共6篇)

    这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置   首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...

  8. CSS的clip-path 一

    首先介绍一下,我觉得前端开发都是很具有分享精神的,很多人都写出了很多优秀的总结经验供新手们参考,本人只是个搬运工,将别人优秀的文章进行了总结,本文主要转载自  大漠  的文章  http://www. ...

  9. machine learning----->Amazon Machine Learning机器学习平台

    参考资料: 1.如何使用Amazon Machine Learning平台构建你的机器学习预测模型 2.

  10. MySQL的存储引擎

    MySQL的一个重要特性就是支持插件式存储引擎.其存储引擎接口定义良好,有兴趣的开发者可以通过阅读文档编写自己的存储引擎. 接下来简单介绍一下MySQL的常见存储引擎: 一.MyISAM MySQL ...