ユーザーにqooxdooSelectBoxからの選択を強制するにはどうすればよいですか?SelectBoxを最初は空の選択で表示したいのですが(もっと良いのは、「選択してください...」というメッセージです)。ユーザーが選択を行わなかった場合にフォームの検証を失敗させ、selectBoxを、必須のtextFieldと同じように、赤い「無効な」装飾と「必須」のツールチップとともに表示したいと思います。
RadioButtonGroupの場合も同様です。ボタンが選択されていない状態でグループを最初に表示し、選択が行われるまで有効にならないようにする方法はありますか?
後で...これはSelectBoxの場合に機能するようです:
var genderSlct = new qx.ui.form.SelectBox();
genderSlct.add(new qx.ui.form.ListItem("")); // initially selected null item
genderSlct.add(new qx.ui.form.ListItem("Male", null, "M"));
genderSlct.add(new qx.ui.form.ListItem("Female", null, "F"));
...
myForm.getValidationManager().setValidator(function(items) {
var valid = true;
if (genderSlct.getSelection()[0].getModel() == null) {
genderSlct.setValid(valid = false);
genderSlct.setInvalidMessage("Please select your gender.");
}
...
if (valid) {
genderSlct.setValid(true);
...
return true;
} else {
return false;
}
});
後でまだ...RadioButtonGroupの解決策も見つかりました:
その最初の選択されていない状態を取得するには、nullモデルの非表示の最初のlistItemを追加します。
myRbg.add(new qx.ui.form.RadioButton("").set({
model: null, visibility: "excluded"
}));
次に、selectionBoxと同じスタイルのコードをフォームバリデーターに追加します。