【问题标题】:Spring form with JQuery validation [duplicate]带有 JQuery 验证的 Spring 表单 [重复]
【发布时间】:2014-01-12 16:50:31
【问题描述】:

我正在尝试将 jquery 验证添加到现有的 spring 表单中。

如果你有关注,问题是春季形式

<form:input size="60" path="contact.emailAddressTxt"/>

生成的HTML是

<input id="contact.emailAddressTxt" type="text" size="60" value="" name="contact.emailAddressTxt">

如果您观察到 name 和 id 的值会生成。在 Jquery 验证插件中,当我尝试使用生成的名称设置规则时,它无法加载。在 Jquery 中我不能使用 contact.emailAddressTxt

那么如何使用 jquery validate 插件来验证这样的输入字段呢?

【问题讨论】:

  • 什么是“联系人”?它是一个模型属性值吗?
  • 它是一个具有 emailAddressTxt 属性的 POJO

标签: jquery spring spring-mvc jquery-validate spring-webflow


【解决方案1】:

你可以设置 I'd,即使在 spring:input 标签中

【讨论】:

  • 不,我尝试覆盖 name 和 id 属性,但仍在生成的 HTML 中,我观察到使用了生成的值并且我的验证规则被忽略了
【解决方案2】:

在 jquery 中,点是一个特殊字符,因此您需要对其进行转义。

尝试: $("#contact\.emailAdressTxt")

否则,您还可以为每种验证类型使用一个类。像这样,您不需要显式绑定每个输入。

我不确定您是否可以控制在春季生成 ID 的方式。在 Jsf 中,我使用了下划线,这对 jquery 来说很容易。也许你可以做类似的事情。

【讨论】:

  • 感谢@Martin,转义字符没有帮助。但我终于添加了这个类并让它工作。
【解决方案3】:

试试这个:

<form:input id="contactEmail" name="contactEmail" type="email" label="E-mail" size="60" path="contactEmail"/>

【讨论】:

    【解决方案4】:

    转义字符是 \\ 而不是单个 .以下代码有效

    $("#contact\\.emailAdressTxt")
    

    【讨论】:

      【解决方案5】:

      在 Jquery 验证插件中,当我尝试使用生成的名称设置规则时,它无法加载。

      您只需用引号将name 括起来。

      $("#myform").validate({
          rules: {
              "contact.emailAddressTxt": {
                  required: true
              }
          }
      });
      

      See documentation.

      【讨论】:

        猜你喜欢
        • 2019-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-18
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        相关资源
        最近更新 更多