ExtJs之ExtJs.Model验证

没有搞好,但知道意思和配置,并且好像4和3的没有兼容性语法,所以网上找了新语法才出来了点东东。

<!DOCTYPE html>
<html>
<head>
    <title>ExtJs</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
		<script type="text/javascript" src="ExtJs/ext-all.js"></script>
		<script type="text/javascript" src="ExtJs/bootstrap.js"></script>
		<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>

    <script type="text/javascript">
			Ext.onReady(function(){
        //Ext.regModel(‘ProductInfo‘, {
        //  fields: [‘productName‘, ‘productNum‘, ‘productPrice‘]
        //});
        /*
        Ext.data.validations.presenceMessage = ‘必须是有效值‘;
        Ext.data.validations.lengthMessage = ‘长度错误‘;
        Ext.data.validations.formatMessage = ‘格式错误‘;

        Ext.apply(Ext.data.validations, {
          number: function(config, value){
            if(value === undefined){
              return false;
            }
            var min = config.min,
                max = config.max;
            if((min && value < min) || (max && value > max)) {
              return false;
            }else {
              return true;
            }
          },
          numberMessage: ‘数据范围错误‘
        })
        */
        Ext.define(‘Ext.data.validator.Number‘, {
          extend: ‘Ext.data.validator.validator‘,
          alias: ‘data.validator.number‘,
          type: ‘number‘,
          config: {
            min: 160
          },
          validate: function(value){
            console.log(value);
            var result = Ext.isNumber(value);
            if(result){
              result = value > 0 && value < this.getMax();
            }
            return result ? result : this.getMessage();
          }
        });

        Ext.define(‘User‘, {
            extend: ‘Ext.data.Model‘,
            fields: [
              {name: ‘name‘, type: ‘string‘},
              {name: ‘age‘, type: ‘int‘},
              {name: ‘phone‘, type: ‘string‘}
            ],
            validators: {
              age: ‘presence‘,
              //age: {type: ‘number‘, min: 30},
              name: {type: ‘length‘, min: 5}
            }
        });

        var user = Ext.create(‘User‘, {
          name: ‘tom‘,
          age: 24,
          phone: ‘555-666-6666‘
        });
        var errors = user.getValidation();
        /*
        var message = [];
        errors.each(function(v){
          message.push(v.field + ‘: ‘ + v.message)
        });

        alert(message.join(‘\n‘));
        */
        alert(errors);
        alert(user.get(‘name‘));

      });
    </script>
</head>
<body>
<div id=‘tpl-table1‘></div>
<br>
<div id=‘tpl-table2‘></div>
</body>
</html>

  

时间: 2024-11-11 12:53:52

ExtJs之ExtJs.Model验证的相关文章

【ExtJs】ExtJs的表单插件与表单布局、提交与验证

利用ExtJs的Anchor可以为ExtJs自带的表单Form各个组件进行布局,当然,使用<[ExtJs]带日期组件的文本输入框.容器与Ext.Msg.alert告警框告警两次>(点击打开链接)中的vbox也是可以的.其实ExtJs的表单插件与表单布局并不是关键,ExtJs的表单验证还好,就几行语句就能够完成.关键是ExtJs的表单提交必须通过Ajax方式,而在后台必须传回一个Json完成表单的提交,可能有点复杂,下面就以php作为ExtJs的后台处理来说明问题ExtJs的表单.aspx,js

【ExtJs】ExtJs的富文本编辑器

对于ExtJs表单中的多行文本框,本身就自带一个没有格式的textareafield. 如果要呈现一个带格式的文本编辑器给用户,ExtJs本身就自带一个htmlEditor. 一.基本目标 比如下图的带编辑器的文本框. 这个组件具有加粗.斜体.下划线,增加减少字号,颜色等功能,而且自动会对文本自动编码,无需担心跨站攻击,只要在后台防范好SQL注入就可以了. 如下图,即使在文本框输入如下网页脚本,也是能够正常运行的. 二.基本思想 首先,这个网页在ExtJs的布局如下,这个组件是由一个含有bbar

【ExtJs】ExtJs的文件上传

ExtJs的文件上传也是采用Ajax的方式,基本上,用户上传之后,其结果马上推回给前台.下面以一个ExtJs图片上传系统,说明这个问题. 一.基本目标 实现如下的一个图片上传的系统,不是基本图片格式,大于1M的图片不给予上传,上传成功显示图片,上传不成功,则显示错误信息. 二.基本思想 这个工程的目录结构如下, 如FileUpload.html的HTML布局所示,js与ext-theme-classic下面皆是Ext的基本资源.然后Upload文件夹用来存放上传的图片,FileUpload.ht

ASP.NETMVC Model验证(四)

ASP.NETMVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而ModelValidator类型则是Model验证执行类型,在下面的示例中会使用Model验证提供程序结合Model验证执行类型来执行Model验证,就是使用上个篇幅中所讲的实现个Model绑定器继承自DefaultModelBinder类型,在自定义Model绑定器中使用ModelValidator类型.

ASP.NET MVC Model验证(二)

ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决 这个问题的,并且会描述一下ModelValidator类型对象相关的类型. Model验证 Model验证简单运用示例 ModelValidator使用生成过程 自定义实现DefaultModelBinder进行验证 自定义ModelValidatorProvider 和ModelValidator  Validation

ASP.NET MVC Model验证(一)

ASP.NET MVC Model验证(一) 前言 前面对于Model绑定部分作了大概的介绍,从这章开始就进入Model验证部分了,这个实际上是一个系列的Model的绑定往往都是伴随着验证的.也会在后面的篇幅中讲解MVC框架中Model验证的机制,以及一些Model验证的方式讲解,本章只是一个简单的示例篇幅,对于有基础的朋友可以直接跳过了(不能耽误大家时间). Model验证 Model验证简单运用示例 ModelValidator使用生成过程 自定义实现DefaultModelBinder进行

Mvc model验证总结

Model 验证总结 Model 验证总结 1 一.Model 验证标记 1 1.启用客户端验证: 1 2.在 Model 中加入验证标记 2 3 . Model 类中可以添加的验证标记: 3 3.1.必填字段 3 3.2 . 字段长度 3 3.3 . 正则验证 3 3.4.范围 4 3.5.服务端参与的验证 4 3.6.比较 4 3.7.自定义错误消息 5 4.后台 Action 的写法 6 5 . 最后附上常用正则表达式(网上找的) 7 二. Model 验证标记实例: 9 1 .  实例一

ASP.NET MVC Model验证(三)

ASP.NET MVC Model验证(三) 前言 上篇中说到在MVC框架中默认的Model验证是在哪里验证的,还讲到DefaultModelBinder类型的内部执行的示意图,让大家可以看到默认的Model验证是在哪个具体的方法中来执行的,本篇的主题就是模拟一下默认的实现,自定义个Model绑定器继承自DefaultModelBinder类型,并且重写某些个重要的方法. Model验证 Model验证简单运用示例 ModelValidator使用生成过程 自定义实现DefaultModelBi

model验证——remote服务端验证

项目中做的项目使用的mvc的model验证,感觉最难的一个是remote验证,其它的比较简单就不说了: remote验证例子: /// <summary> /// ErrorMessage 表示验证不通过时显示的消息 ///AdditionalFields 表示验证的时候用哪个字段作为参数来传递(通常用于编辑页面的时候验证) /// </summary> [Remote("actionName", "controllerName", Erro

ASP.NET MVC Model验证学习—上

蒋大师的MVC框架解析确实是越学越有趣,即使是跟着学写些示例代码也是收获良多,尤其是关于类型.反射和委托等方面,平时在应用开发中确实很少会有机会写这样的代码.今天学习的ASP.NET MVC中的Model的验证,刚开时会以为这一章会比较简单,因为之前已经学习过了Model元数据的解析.Model绑定,Model的验证可能就只是DataAnnotation相关类的介绍.但实际学习的过程中,尤其是自定义用于修饰Action的验证特性让我到现在仍然感觉是比较萌萌哒,毕竟这一块对于框架的扩展基本上涉及到