私はjQueryフォームウィザードプラグインを使用しています。私は3つの答えを持つ20の質問があります。それぞれの答えには重みがあります。各質問について、回答の総重量は10でなければなりません。複数の入力間で値を検証するためのフォームの検証を確認
<fieldset id="first" class="step">
<input type="text" size="2" maxlength="2" value="" name="question1[]" class="required"/>A: Inspiring others with a compelling vision for change.<br />
<input type="text" size="2" maxlength="2" value="" name="question1[]" />B: Engaging others to buy-into the change.<br />
<input type="text" size="2" maxlength="2" value="" name="question1[]" />C: Executing a project plan and managing accountabilities.<br />
<label for="question1[]" class="error" style="display:none;">Your values must add up to 10!</label>
</fieldset>
これは基本的に人格評価です。私はAとCが適用されないと思うと、私はAのために10で入力します。
各フィールドセットが最大10を追加していないかどうかを確認する方法はありますか?
私はそれが数字をチェック知っているように、私も取得するには、以下に沿って何かを追加しようとしたなど、
を私はjQueryの検証プラグインを使用していますが、これは少しも特異的であるように思われます必要なチェックは合格するが、私はここから行くことがどこか分からない:
$(document).ready(function() {
$("#Form").validate({
submitHandler: function(form) {
form.submit();
}
});
$("#Form input[name='question1']").each(function() {
$(this).rules("add", {
required: true,
maxlength: 2,
messages: {
required: "Required",
minlength: jQuery.format("Max length of {2} characters.")
}
});
});
});
また、私はjQueryの検証は、配列を収容するように編集機能を持っていたことを発見しました。私もこれを試してみました
checkForm: function() {
this.prepareForm();
for (var i=0, elements=(this.currentElements = this.elements()); elements[i]; i++) {
if (this.findByName(elements[i].name).length != undefined &&
this.findByName(elements[i].name).length > 1) {
for (var cnt = 0; cnt < this.findByName(elements[i].name).length; cnt++) {
this.check(this.findByName(elements[i].name)[cnt]);
}
}
else {
this.check(elements[i]);
}
}
return this.valid();
}
:この
$(document).ready(function(){
$("#Form").validate({
rules: {
question1: {
required: true
}
},
submitHandler: function(form) {
form.submit();
}
});
});
どれも私に「必要な」エラーを与えるために動いていないようにみえ私は、次の機能を変更しました。コンソールにエラーはありません。私は、 "次へ"ボタンが押されるたびにこれを検証する必要があります。次のボタンにはtype=submit
があるので、理論的には少なくとも質問1は必須ではなく無駄だと言わなければなりません。
$().ready(function() {
// validate the comment form when it is submitted
$("#Form").validate({
rules: {
"question1[]": "required"
},
messages: {
"question1[]": "Input is required",
}
});
});
しかし、それはエラーなしで次のフィールドセットに移行:
私もこれを試してみました。
私はこのすべてに新しいことを確認しようとしているだけで、その可能性もあります。 – RezenX
もちろん可能です。何でも可能です。 – Dutchie432
ええ私は質問をし、-1ハハを得る。素敵な、私のランクを構築しようとしているように。私はちょうどそれがこのカスタム検証のすべてになると失われた – RezenX