ExtJS4 - 自定义验证器

 


  1. Ext.onReady(function() { 
  2.     Ext.data.validations.lengthMessage = "错误的长度"
  3.     Ext.apply(Ext.data.validations, { 
  4.         size : function(config, value) { 
  5.             if (value === undefined || value === null) { 
  6.                 return false
  7.             } 
  8.  
  9.             var min = config.min; 
  10.             var max = config.max; 
  11.             if (min <= value && value <= max) { 
  12.                 return true
  13.             } else { 
  14.                 this.sizeMessage = "正确大小:最小" + min + ", 最大" + max; 
  15.                 return false
  16.             } 
  17.         }, 
  18.         sizeMessage : 'size大小出现错误' 
  19.     }); 
  20.  
  21.     Ext.define("person", { 
  22.         extend : "Ext.data.Model"
  23.         fields : [ { 
  24.             name : 'name'
  25.             type : 'string' 
  26.         }, { 
  27.             name : 'gender'
  28.             type : 'string' 
  29.         }, { 
  30.             name : 'age'
  31.             type : 'int' 
  32.         }, { 
  33.             name : 'phone'
  34.             type : 'string' 
  35.         }, { 
  36.             name : 'email'
  37.             type : 'auto'
  38.             defaultValue : true 
  39.         } 
  40.  
  41.         ], 
  42.         validations : [ { 
  43.             type : 'length'
  44.             field : 'name'
  45.             min : 2, 
  46.             max : 6 
  47.         }, { 
  48.             type : 'inclusion'
  49.             field : 'gender'
  50.             list : [ 'Male''Female' ] 
  51.         }, { 
  52.             type : 'size'
  53.             field : 'age'
  54.             min : 0, 
  55.             max : 150 
  56.         } ] 
  57.     }); 
  58.  
  59.     var p = Ext.create("person", { 
  60.         name : 'sina.com'
  61.         age : -20, 
  62.         phone : '15057100000'
  63.         email : 'aa@sina.com' 
  64.     }); 
  65.     var errors = p.validate(); 
  66.     var errorInfo = []; 
  67.     errors.each(function(o) { 
  68.         errorInfo.push(o.field + ", " + o.message) 
  69.     }); 
  70.  
  71.     alert(errorInfo.join("\n")); 
  72. }); 

 


本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/834028,如需转载请自行联系原作者

上一篇:go| go 性能优化入门之「Go代码重构:23倍的性能爆增」实践


下一篇:【鸿蒙 HarmonyOS】Ability 中使用纯代码绘制布局及 UI 组件