zoukankan      html  css  js  c++  java
  • Ext.ux.form.Validation 验证插件的使用

    Ext.define('Ext.ux.form.Validation', {
        extend: 'Ext.AbstractPlugin'
        , alias: 'plugin.uxvalidation'

        , init: function (view) { //view代表传入进来的Ext.form. field.Field
            Ext.override(view, {
                getErrors: function (value) {
                    var me = this, errors = me.callParent(arguments);
                    console.log(me);
                    if (!me.disabled && me.remoteValidator) {
                        var params = {};
                        for (var i in me.remoteValidator.params) {
                            params[i] = me.up('form').down(me.remoteValidator.params[i]).getValue() || 'empty'; //down(包括up)

    实际上是调用了Ext.ComponentQuery的query方法,其参数可以为itemId ,不过要加#作为前缀
                

            }
                        Ext.Ajax.request({
                            url: me.remoteValidator.url,
                            params: params,
                            method: 'GET',
                            scope: this,
                            callback: function (options, success, response) {
                                if (success) {
                                    var ret = Ext.JSON.decode(response.responseText).data;
                                    if (!ret.Success) {
                                        me.setActiveErrors([ret.ErrorMsg]);
                                    }
                                }
                            }
                        });
                    }
                    return errors;
                }
            })
        }
    });

    1.以前写插件以为传入进来的容器同过this.cmp来寻找,而对于验证插件直接可以调用init(view),会将form空间当参数传进来。

    2.这里调用Ext.override的方法重写了控件的getErrors()方法,但是会继续调用父级方法me.callParent(arguments);

    3.通过down 查找到对应的控件,然后获取其值

    4.调用  Ext.Ajax.request实现后台数据验证

    5.这里的me指代的是form 的控件,而不是自己拓展的插件,弄清这个很关键。

  • 相关阅读:
    那些优秀的python代码
    ubuntu软件工具推荐
    跨平台APP推荐收藏
    关于python使用的那些事儿
    关于notepad++使用的那些事儿
    关于ubuntu使用的那些事儿
    PyQt4制作GUI
    python操作图片
    杀死进程
    常见配置文件对比
  • 原文地址:https://www.cnblogs.com/shen119/p/3311821.html
Copyright © 2011-2022 走看看