【问题标题】:Alfresco Form field validation Javascript not being loaded by the browser浏览器未加载 Alfresco 表单字段验证 Javascript
【发布时间】:2019-01-25 13:58:10
【问题描述】:

我希望这里有人可以帮助解决这个问题,因为我已经按照书中的内容完成了所有工作,以创建一个用于验证 Alfresco 表单字段的 Javascript 函数。这是我所做的:

修改了share-config-custom.xml文件,如下:

<forms>
  <dependencies>
    <js src="js/date-range-validator.js" />
  </dependencies>

  <form>
    <appearance>
      <field id="myfield:dfc-start-date">
        <constraint-handlers>
          <constraint type="MANDATORY" validation-handler="myspace.forms.validation.checkDateRangeValidity" event="keyup"/>
        </constraint-handlers>
      </field>
    ...
  </form>  
</forms>

创建了一个 date-range-validator.js 文件,我把它放在了src/main/assembly/web/js

if (typeof myspace == "undefined" || !myspace) {
  var myspace = {};
}

myspace.forms.validation.checkDateRangeValidity = function checkDateRangeValidity(field, args, event, form, silent, message) {
  var valid = true;
  alert('Checked date ' + field);
  return valid;
}

但是,当显示表单时,我得到一个异常,因为“myspace”没有定义,所以看起来我的验证器代码没有被加载。我尝试将 Javascript 文件放置在项目中的多个位置,但我从未在浏览器中看到我的 Javascript 验证代码。

所以我想这是一个将 Javascript 放在项目结构中的位置的问题。

【问题讨论】:

  • 您使用的是哪个 sdk 版本?
  • 嗯,这是 Alfresco Share 5.2.d。 (社区版)
  • 您是直接在露天进行更改吗?
  • 我不会将文件直接放入正在运行的 Alfresco 实例中。我所有的源文件都在项目构建结构中。我正在构建 AMP 并以这种方式部署它。
  • 请检查更新的答案。

标签: javascript alfresco alfresco-share


【解决方案1】:

您的 javascript 文件应位于 share/src/main/resources/META-INF/js 位置。

点击此链接获取验证处理程序。

https://docs.alfresco.com/5.0/concepts/dev-extensions-share-form-field-validation-handlers.html

【讨论】:

  • 这正是我一直在使用的页面。
  • 请立即查看。
  • 我把我的js文件放在了src/main/resources/META-INF/js目录下,但是加载页面的时候浏览器的js资源中看不到这个文件
【解决方案2】:

我认为您可能缺少封闭的 &lt;config&gt; 元素,它应该是 &lt;forms&gt; 的父元素。

【讨论】:

  • 我确实有杰夫这个元素。那段 XML 只是 share-config-custom.xml 文件的一小部分。整个文件格式正确,语法正确。
【解决方案3】:

如果有人感兴趣,感谢 Jeff Potts,我得到了一个解决方案,他建议我将表单定义放入扩展模块中。 Alfresco 论坛上的详细信息。

https://community.alfresco.com/thread/240434-form-field-validation-handler-issue

<extension>
  <modules>
    <module>
        <id>Someco Share Form Configuration</id>
        <version>1.0</version>
        <auto-deploy>true</auto-deploy>
        <configurations>

            <config>
                <forms>
                    <dependencies>
                        <js src="/resources/someco-share/js/validator.js"/>
                    </dependencies>
                </forms>
            </config>



            <config evaluator="node-type" condition="sc:doc">
                <forms>
                    <form>
                        <field-visibility>
                            <show id="cm:name" />
                            <show id="cm:title" force="true" />
                            <show id="sc:someProp" />

                        </field-visibility>
                        <appearance>
                            <field id="cm:name">
                                <control>
                                    <control-param name="maxLength">255</control-param>
                                </control>
                            </field>
                            <field id="cm:title">
                                <control template="/org/alfresco/components/form/controls/textfield.ftl" />
                            </field>
                            <field id="sc:someProp" label-id="form.field.label.sc.someProp" description-id="form.field.description.sc.someProp" help-id="form.field.help.sc.someProp">
                                <constraint-handlers>
                                    <constraint type="scDateValidator" message-id="constraint.scDateValidation" validation-handler="SomeCo.forms.validation.scSomePropValidatior" event="onChange"/>
                                </constraint-handlers>
                            </field>
                        </appearance>
                    </form>

                </config>

            </configurations>
        </module>
    </modules>
  </extension>

【讨论】:

    猜你喜欢
    • 2023-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多