adv-vtypes.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:3k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.0.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ // Add the additional 'advanced' VTypes
  2. Ext.apply(Ext.form.VTypes, {
  3.     daterange : function(val, field) {
  4.         var date = field.parseDate(val);
  5.         if(!date){
  6.             return;
  7.         }
  8.         if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
  9.             var start = Ext.getCmp(field.startDateField);
  10.             start.setMaxValue(date);
  11.             start.validate();
  12.             this.dateRangeMax = date;
  13.         } 
  14.         else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
  15.             var end = Ext.getCmp(field.endDateField);
  16.             end.setMinValue(date);
  17.             end.validate();
  18.             this.dateRangeMin = date;
  19.         }
  20.         /*
  21.          * Always return true since we're only using this vtype to set the
  22.          * min/max allowed values (these are tested for after the vtype test)
  23.          */
  24.         return true;
  25.     },
  26.     password : function(val, field) {
  27.         if (field.initialPassField) {
  28.             var pwd = Ext.getCmp(field.initialPassField);
  29.             return (val == pwd.getValue());
  30.         }
  31.         return true;
  32.     },
  33.     passwordText : 'Passwords do not match'
  34. });
  35. Ext.onReady(function(){
  36.     Ext.QuickTips.init();
  37.     // turn on validation errors beside the field globally
  38.     Ext.form.Field.prototype.msgTarget = 'side';
  39.     var bd = Ext.getBody();
  40. /*
  41.  * ================  Date Range  =======================
  42.  */
  43.     
  44.     var dr = new Ext.FormPanel({
  45.       labelWidth: 125,
  46.       frame: true,
  47.       title: 'Date Range',
  48.   bodyStyle:'padding:5px 5px 0',
  49.   width: 350,
  50.       defaults: {width: 175},
  51.       defaultType: 'datefield',
  52.       items: [{
  53.         fieldLabel: 'Start Date',
  54.         name: 'startdt',
  55.         id: 'startdt',
  56.         vtype: 'daterange',
  57.         endDateField: 'enddt' // id of the end date field
  58.       },{
  59.         fieldLabel: 'End Date',
  60.         name: 'enddt',
  61.         id: 'enddt',
  62.         vtype: 'daterange',
  63.         startDateField: 'startdt' // id of the start date field
  64.       }]
  65.     });
  66.     dr.render('dr');
  67.     
  68.     /*
  69.      * ================  Password Verification =======================
  70.      */
  71.         
  72.     var pwd = new Ext.FormPanel({
  73.       labelWidth: 125,
  74.       frame: true,
  75.       title: 'Password Verification',
  76.       bodyStyle:'padding:5px 5px 0',
  77.       width: 350,
  78.       defaults: {
  79.         width: 175,
  80.         inputType: 'password'
  81.       },
  82.       defaultType: 'textfield',
  83.       items: [{
  84.         fieldLabel: 'Password',
  85.         name: 'pass',
  86.         id: 'pass'
  87.       },{
  88.         fieldLabel: 'Confirm Password',
  89.         name: 'pass-cfrm',
  90.         vtype: 'password',
  91.         initialPassField: 'pass' // id of the initial password field
  92.       }]
  93.     });
  94.     pwd.render('pw');
  95. });