【问题标题】:Regula Form Validation Crashes on validationRegula 表单验证在验证时崩溃
【发布时间】:2015-01-21 00:56:42
【问题描述】:

我第一次使用这个库,也许我犯了一些愚蠢的错误,但我卡住了。

我正在使用 Play Framework 2.0 像这样为规则 1.3.3 提供服务

<script src="@routes.Assets.versioned("javascripts/regula-1.3.3.js")" type="text/javascript"></script>

那我有

<input type="text" name="age" id="age" data-constraints="@@Range(min=18, max=65)" />

请注意,由于 Play Framework 模板,@@ 是必需的,但是浏览器会看到这样的同一行:

<input type="text" name="age" id="age" data-constraints="@Range(min=18, max=65)">

    $(document.body).on('change','input', function (event) {
        var constraintViolations = regula.validate({
            elements: [document.getElementById("age")]
        });
    });

在控制台上:

Uncaught IllegalArgumentException: No constraints have been bound to the specified elements: age. Function received: {elements: [[object HTMLInputElement]], elementIds: [age]}

如果我添加另一个元素:

<input type="text" name="email" id="email" value="@form("email").value" data-constraints='@@Email' >

并将验证码更改为:

    $(document.body).on('change','input', function (event) {
        var constraintViolations = regula.validate({
            elements: [document.getElementById("age"), document.getElementById("email")]
        });
    });

我明白了:

Uncaught TypeError: Cannot read property 'id' of null

我还尝试在输入字段更改时调用 regula.validate() ,但是这个简单的每次都返回一个空数组。

我做错了什么?

感谢您的帮助。

【问题讨论】:

    标签: javascript forms playframework-2.0 regula


    【解决方案1】:

    你先打电话给regula.bind()了吗?您必须调用它,以便 regula 可以检查所有元素并找出哪些元素对它们有约束。这可能就是为什么它抱怨没有约束元素的原因。

    【讨论】:

      猜你喜欢
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多