我第一次使用这个库,也许我犯了一些愚蠢的错误,但我卡住了。
我正在使用 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() ,但是这个简单的每次都返回一个空数组。
我究竟做错了什么?
谢谢你的帮助。