Aem cq5,基于复选框的值执行验证
我有一个复选框和一个下拉列表,我希望在勾选复选框时,下拉列表成为必填字段(因为不能为空) 我在选项卡面板中有这些小部件,在选项卡中我有这些设置。我知道有很多听众,但我不知道如何让他们为我服务。在提交之前,我也尝试过使用一个侦听器,但这对我来说不起作用Aem cq5,基于复选框的值执行验证,aem,Aem,我有一个复选框和一个下拉列表,我希望在勾选复选框时,下拉列表成为必填字段(因为不能为空) 我在选项卡面板中有这些小部件,在选项卡中我有这些设置。我知道有很多听众,但我不知道如何让他们为我服务。在提交之前,我也尝试过使用一个侦听器,但这对我来说不起作用 在CQ5中有没有一种简单易行的方法来实现这一点?简短的回答:其实没有一种简单易行的方法来实现这一点 长长的回答: 我建议创建一个新的xtype来添加这些额外的ui。在对话框XMLs中有很多垃圾代码片段,但是我不建议在您的XMLs中使用JavaScr
在CQ5中有没有一种简单易行的方法来实现这一点?简短的回答:其实没有一种简单易行的方法来实现这一点 长长的回答: 我建议创建一个新的xtype来添加这些额外的ui。在对话框XMLs中有很多垃圾代码片段,但是我不建议在您的XMLs中使用JavaScript。我不会为您编写代码,但我将提供一种技术方法,希望能为CQ领域中的动态组件提供更好的实践这需要一些中级JavaScript技能和熟悉CQ的ExtJS 3.4变体。
var MyCustomXtypeObject=CQ.Ext.extend(CQ.Ext.Panel,{。。。
和
CQ.Ext.reg('XTYPE_NAME',MyCustomXtypeObject);
CQ.Ext.form.Checkbox
和CQ.Ext.form.ComboBox
添加到MyCustomXtypeObject
中。将配置添加到这些项时,可以通过设置id
并使用CQ.Ext.getCmp()使两个小部件相互对话
method。第一个参数需要一个ID并返回小部件的实例。将事件侦听器设置为两个小部件,以便您可以编程您的业务逻辑需求。ExtJS 3.4文档将在整个过程中成为您的朋友。还可以查看CQ现有的自定义xtypes以获取示例和设置。(使用CRX DE查找示例或打包/libs
,在文件系统上下载/解压缩,并使用IDE的搜索机制)cq.widgets
。这是在cq JavaScript端获得它的最简单实现,但为了组织起见,有更好的实践primaryType
的xtype添加为cq:Panel
(因为它是一个Ext.Panel),例如:
name
属性即可。传入的JSON应该为其提供数据(如果没有,您可以从包装器组件实例中提取Ext.data.Store
,并手动预填充表单元素)
肯定有很多领域知识需要以这种方式实现,但从长远来看,当您的需求发生变化但XML配置有限时,这将省去很多麻烦。这种方法是可单元测试的,比在有限的方法上通过配置进行流式处理更具性能。我有很多使用自定义dia的经验日志,这是实现定制CQ组件的最佳方式(也是CQ核心开发人员实现管理/基础小部件的方式)这是一个很好的答案,但我们的需求发生了变化,我不需要实现此功能。。。