我想在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"/>
答案 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
使用granite:class
之类的OOTB花岗岩事件侦听器之一在对话框初始化时触发脚本。您可能会使用更窄的事件,请查看granite documentation了解更多事件
使用Coral UI Textfield documentation查找受支持的属性。支持xmlns:granite="http://www.adobe.com/jcr/granite/1.0"
和foundation-contentloaded
。将此代码放在disabled
clientlib中。
readonly