Extjs4 表单ajax验证

Extjs4  表单ajax验证

            xtype: 'combobox',
                    labelAlign: 'right',
                    fieldLabel: '业务单元',
                    name: 'CATE_TYPE',
                    labelWidth: 150,
                    queryMode:'remote',
                    store: ,
                    editable:false, //是否允许输入
                    emptyText:'请选择一个平台',
                    allowBlank: false,
                    blankText: '请选择一个平台',
                    width:400,
                    triggerAction:'all', //显示所有下列数.必须指定为'all'
                    valueField:'value', //传送的值
                    displayField:'text', //UI列表显示的文本
                    validationOnBlur : false, //失去焦点时进行验证
                    textValid: false,
                    validationOnChange : true, //发生改变时进行验证
                    validator: function(){
                        return this.textValid;  
                    },
                    listeners: {
                        change: function(obj, newValue, oldValue, eOpts){
                            var cate_type_value = obj.getValue();
                            var bedget_datetime_value = Ext.getCmp('BUDGET_DATETIME').getValue();
                            Ext.Ajax.request({
                                url: '',
                                params: {
                                    BUDGET_DATETIME: bedget_datetime_value,
                                    CATE_TYPE: cate_type_value
                                },
                                method: 'POST',
                                success: function (response, options) {
                                    var result = Ext.JSON.decode(response.responseText);
                                    var success = result.success;
                                    if(success){
                                         this.clearInvalid();
                                         this.textValid = true;
                                    }else{
                                         this.markInvalid(result.msg);//这个方法可以给表单组件加上红圈圈和悬浮提示  
                                         obj.textValid = false;
                                    }
                                },
                                failure: function (response, options) {
                                    obj.textValid = false;
                                }
                            });
                        }
                    }

  

posted @ 2014-03-21 15:54  王天泽博客  阅读(184)  评论(0)    收藏  举报