【问题标题】:AEM 6.1 Touch UI allows submit when text field is set to requiredAEM 6.1 Touch UI 允许在文本字段设置为必需时提交
【发布时间】:2016-12-01 17:48:36
【问题描述】:

出于可访问性目的,我在 Touch UI 对话框中有一个带有 alt 文本字段的组件,该组件具有 required="true"。 但是,允许作者在该字段中没有任何实际内容的情况下点击提交。此外,它没有事先验证——作者在输入内容并将其从字段中删除之前,看不到该字段是必需的;只有这样他们才能看到该字段是“必填项”。

我怎样才能获得这个必需的替代文本字段,以便作者在提交组件之前需要输入一些文本?

感谢您的任何指导。

【问题讨论】:

    标签: touch adobe aem


    【解决方案1】:

    根据文档https://docs.adobe.com/docs/en/aem/6-1/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/textfield/index.html,您需要将属性“required”(布尔类型)设置为“true”以实现此目的。我已经在 AEM 6.1 SP1 上进行了测试并且工作正常。

    无论如何,如果您正在寻找“提交前”或“对话就绪”状态的内容,那么您将需要 Javascript。您需要在类别为cq.authoring.dialog 的组件下创建一个clientlib 文件夹。

    如果是这种情况,请看一下可以解决问题的方法: http://experience-aem.blogspot.in/2015/02/aem-6-sp2-touch-ui-dialog-before-submit.html

    【讨论】:

    • 感谢您的回信 :) 我能够收到通知,但是即使出现通知,对话框也会关闭。例如,我点击了我的组件的配置按钮。然后尝试在必填字段中不填写任何内容提交。出现错误消息,但对话框关闭。有时我会收到另一条消息,显示服务器错误。有什么想法吗?
    • 我会建议调试代码以找出发生了什么,记住这一点:e.stopPropagation();e.preventDefault(); 停止提交表单并`$form.submit();` 提交表单。
    【解决方案2】:

    我猜required="true" 无效。您要么只需要添加不带任何值的required 属性,要么可以将其添加为required="required"

    例如,

    <input type="text" required>
    <input type="text" required="required">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      相关资源
      最近更新 更多