1
如何强制用户从qooxdoo SelectBox中进行选择?我希望SelectBox最初出现时有一个空的选择(或者更好的是,“请选择...”消息)。我希望表单验证失败,如果用户没有做出选择,并且选择框显示为红色“无效”装饰和“必需”工具提示,就像所需的textField一样。如何制作qooxdoo中所需的SelectBox?
类似于RadioButtonGroup:有没有办法让组最初出现时没有选择按钮,并且在选择之前不会变得有效?
后来......这似乎为选择框的情况下工作:
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的解决方案,以及:
要获得初始未选择状态,添加一个不可见的第一个listItem与null模型:
myRbg.add(new qx.ui.form.RadioButton("").set({
model: null, visibility: "excluded"
}));
然后添加相同的样式的代码作为选择框到表单验证器。