Extjs4 驗證開始日期,截至日期

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
    <title>extjs-from</title>
    <!-- extjs -->
    <link rel="stylesheet" type="text/css" href="../ext-4.2.1.883/resources/css/ext-all-neptune.css">
    <!--<script type="text/javascript" src="../extjs/ext-all.js"></script>-->
    <script type="text/javascript" src="../ext-4.2.1.883/ext-all-debug-w-comments.js"></script>
    <script type="text/javascript" src="../ext-4.2.1.883/locale/ext-lang-zh_CN.js"></script>
    <style type="text/css" >
    body{padding-left:5px;}
    </style>
</head>
<body>
    <script  type="text/javascript">
 
        // 1、 步驟導入庫文件
        Ext.require([
            'Ext.form.*',
            'Ext.tip.QuickTipManager'
        ]);
         
        Ext.onReady(function() {
         
            // 2、步驟設置提示
            Ext.tip.QuickTipManager.init();
             
            // 3、步驟添加驗證
            Ext.apply(Ext.form.field.VTypes, {
 
                daterange: function(val, field) { // 調用 daterange 
                    var date = field.parseDate(val);
 
                    if (!date) {
                        return false;
                    }
                    if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
                        var start = field.up('form').down('#' + field.startDateField);
                        start.setMaxValue(date);
                        start.validate();
                        this.dateRangeMax = date;
                    }
                    else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
                        var end = field.up('form').down('#' + field.endDateField);
                        end.setMinValue(date);
                        end.validate();
                        this.dateRangeMin = date;
                    }
                    return true;
                },
 
                daterangeText: '開始日期必須小於結束日期'  // 驗證顯示文字
 
            });
             
            // 4、步驟添加 form 和 form 其他組件
            var dr = Ext.create('Ext.form.Panel', {
                renderTo: 'dr',
                frame: true,
                title: '時間比較',
                bodyPadding: '5 5 0',
                width: 350,
                fieldDefaults: {
                    labelWidth: 125,
                    msgTarget: 'side',
                    autoFitErrors: false
                },
                defaults: {
                    width: 300
                },
                defaultType: 'datefield',
                items: [{
                    fieldLabel: '開始日期',
                    name: 'startdt',
                    itemId: 'startdt',// 開始時間ID
                    vtype: 'daterange', // 調用的 驗證方法
                    endDateField: 'enddt' // 設置結束時間
                }, {
                    fieldLabel: '結束日期',
                    name: 'enddt',
                    itemId: 'enddt', // 結束時間ID
                    vtype: 'daterange', // 調用的 驗證方法
                    startDateField: 'startdt' // 設置開始時間
                }]
            });
         
        });
    </script>
     
    <a href="../ext-4.2.1.883/examples/panel/panel.html"><h3>examples</h3></a>
    <a href="../ext-4.2.1.883/docs/index.html#!/api/Ext.panel.Panel"><h3>doc</h3></a>
     
    <a href="http://blog.mttqq.com"><h3>獁特頭-Extjs4更多學習</h3></a>
    <a target="_blank" href="http://wp.qq.com/wpa/qunwpa?idkey=f50865b2598688abcae47cca8ae48b5c1ea26a45194c640071eefdd7212d3a2e"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="extjs 技術交流" title="extjs 技術交流"></a>
     
    <div id="dr"></div>
</body>
</html>
原地址:http://www.oschina.net/code/snippet_130620_25845
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章