在自定义多字段组件中设置最小限制

时间:2014-02-12 18:09:01

标签: extjs cq5 aem

我有一个自定义多字段组件,最多可将5个元素应用于“添加项目”按钮。

我需要在对话框的“确定”按钮中添加类似的侦听器逻辑,以检查是否添加了最小数量的项目(3)。

如何实现?我没有找到任何示例代码来向按钮添加监听器代码..

1 个答案:

答案 0 :(得分:1)

我在Dialog的beforesubmit事件中使用监听器完成了同样的事情(请参阅http://dev.day.com/docs/en/cq/current/widgets-api/index.html之前的CQ.Dialog提交 - 搜索“Dialog”):

<listeners
  jcr:primaryType="nt:unstructured"
  beforesubmit="function(dialog){return myNamespace.myCustomFunction(dialog);}"/>

然后,通过客户端库包含在页面上的自定义JavaScript函数可能是这样的:

myNamespace = {};
myNamespace.myCustomFunction = function (dialog) {
    var isValid = function () {
        var valStatus = true;
        ... custom JavaScript/jQuery to check if 3 items exist ...
        return valStatus;
    };
    if (!isValid()) {
        CQ.Ext.Msg.show({title: 'Validation Error', msg: 'Must contain at least 3 items!', buttons: CQ.Ext.MessageBox.OK, icon: CQ.Ext.MessageBox.ERROR});
        return false;
    } else {
        return true;
    }
}