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 的控件,而不是自己拓展的插件,弄清这个很关键。

  • 相关阅读:
    爬虫与自动化实战,帮助小姐姐刷抖音完全解放掉双手
    推荐 5 个实用的黑科技网站,建议收藏!
    最全总结!聊聊 Python 发送邮件的几种方式
    推荐 iOS 上的一款黑科技自动化脚本:捷径
    拒绝降权!教你用 Python 确保制作的短视频独一无二
    推荐几款优质 Chrome 摸鱼插件,带你畅快划水
    再推荐 5 款私藏的优质 Chrome 插件
    如何利用 Python 爬虫实现给微信群发新闻早报?(详细)
    暑期辅导java方向计划(针对大二大三等小白)
    我用数据结构花了一夜给女朋友写了个h5走迷宫小游戏
  • 原文地址:https://www.cnblogs.com/shen119/p/3311821.html
Copyright © 2011-2022 走看看