現在、C.Dugas と O.Refalo による「Inline Form Validation Engine 2.6.2」、jQuery プラグインを使用するプロジェクトに取り組んでいます (ここにいる多くの人が最もよく知っているため)。その上、knockout.js を使用するために多くのページを作り直しています。
ここで私の問題:私のユースケースは、オプションの選択が必要であり、ユーザーがオプションを明示的に選択する ことも必要であると判断します-特に「私には仕事がありません」-したがって、そのオプションを次のように使用するという私の提案デフォルトのオプションは受け入れられませんでした。
指定された jquery-plugin の元のドキュメントを介して見つけたものから、入力には属性type="radio"およびdata_validation_engine="validate[required] group"が必要であると結論付けました。
その情報に続いて、ラジオボタンを作成するための次のコードになりました。
<div data-bind="foreach: radioButtonOptions.Company, visible: true" style="">
<div>
<input type="radio" data_validation_engine="validate[required] radio" name="Company" data-bind="value: Value, checked: $root.model.Company, attr: { id: 'Company'+Value() }" data-errormessage-value-missing="Please choose your employer." data-prompt-target="ym-message-Company" value="0" id="Company0">
<label data-bind="attr: { for: 'Company'+Value() }, text:Text" for="Company0">I don't have a job!</label>
</div>
<div>
<input type="radio" data_validation_engine="validate[required] radio" name="Company" data-bind="value: Value, checked: $root.model.Company, attr: { id: 'Company'+Value() }" data-errormessage-value-missing="Please choose your employer." data-prompt-target="ym-message-Company" value="1" id="Company1">
<label data-bind="attr: { for: 'Company'+Value() }, text:Text" for="Company1">Softdrink Company</label>
</div>
<div>
<input type="radio" data_validation_engine="validate[required] radio" name="Company" data-bind="value: Value, checked: $root.model.Company, attr: { id: 'Company'+Value() }" data-errormessage-value-missing="Please choose your employer." data-prompt-target="ym-message-Company" value="2" id="Company2">
<label data-bind="attr: { for: 'Company'+Value() }, text:Text" for="Company2">Food Company</label>
</div>
</div>
そのため、適切にラベル付けされ、選択されていない 3 つの RadioButton が作成されます。
私の送信ボタンは、投稿を送信する前にフォームの有効性をチェックします。
$("#submitButton").click(function (event) {
if (!$('#inputForm').validationEngine('validate'))
return false;
// submit per ajax ...
});
これにより、検証が失敗した場合に送信できなくなります。
これは、選択リストとテキストボックスに設定した「検証[必須]」ルールに対して適切に機能し、日付を3つの異なる入力に分割し、変更時に4番目の非表示に再構築するDateTime Editor-Templateの小さな拡張機能を介しても機能します。分野。
しかし、何らかの理由で (私には見えません)、ラジオボタン リストでは機能しません。
誰かがこのプラグインで同様の問題に遭遇し、それを解決することができましたか、それとも偶然にも問題を見つけて見つける方法を知っている人はいますか...私は今認めざるを得ません。
解決策につながるヘルプや提案がある場合は、事前に Thx をお寄せください。