在Touch UI cq对话框上禁用文本字段

时间:2018-09-05 20:00:38

标签: javascript dialog aem

我想在cq对话框加载时调用JS函数,以验证某个字段是否已经包含某些东西(如果有),请从版本中禁用它。我已经尝试过验证,但是在用户与字段进行交互之后会调用它,因此我需要一种在加载之前进行验证的方法。有可能吗?

<id
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
   fieldLabel="ID"
   validation="is_empty" // DO THIS WHEN IS LOADED
   name="./id"
   required="{Boolean}true"/>

1 个答案:

答案 0 :(得分:1)

我可以想到一种使用sigaction(SIGINT, &sa, (int*) 0) clientlib和(int *) 0

来实现这一目标的方法。
  • 创建一个类别为cq.authoring.dialog的clientlib。此clientlib中的脚本仅加载到author instance中。
  • 使用jQquery属性将一个类添加到文本字段,这是使用上述clientlib中的脚本将其连接到文本字段
cq.authoring.dialog
  • 您必须在granite:class中包含以下命名空间才能使用 <id jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="ID" granite:class="readonlySelector" name="./id" required="{Boolean}true"/> dialog.xml
  • 注意上面在DOM中注册的类名

enter image description here

  • 使用granite:class之类的OOTB花岗岩事件侦听器之一在对话框初始化时触发脚本。您可能会使用更窄的事件,请查看granite documentation了解更多事件

  • 使用Coral UI Textfield documentation查找受支持的属性。支持xmlns:granite="http://www.adobe.com/jcr/granite/1.0"foundation-contentloaded。将此代码放在disabled clientlib中。

readonly
  • 灰色和禁用

enter image description here