私はこのライブラリを初めて使用しています。おそらく私は愚かな間違いを犯していますが、行き詰まっています。
私は 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 フレームワーク テンプレートのために @@ が必要であることに注意してください。ただし、ブラウザには次のような同じ行が表示されます。
<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() を呼び出してみましたが、この単純なものは毎回空の配列を返します。
私は何を間違っていますか?
ご協力いただきありがとうございます。