1

如何强制用户从 qooxdoo SelectBox 中进行选择?我希望 SelectBox 最初显示为空选择(或者更好的是,“请选择...”消息)。如果用户没有做出选择,我希望表单验证失败,并且 selectBox 出现红色“无效”装饰和“必需”工具提示,就像必需的文本字段一样。

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 的解决方案:

要获得初始未选中状态,请添加一个不可见的第一个 listItem 与 null 模型:

myRbg.add(new qx.ui.form.RadioButton("").set({
     model: null, visibility: "excluded"
}));

然后将与 selectionBox 相同样式的代码添加到表单验证器。

4

1 回答 1

0

查看此演示,它提供了您在 SelectBox 案例中寻找的确切内容:http: //demo.qooxdoo.org/2.0.1/demobrowser/index.html#data~Form.html

您可以简单地检查验证器中的选择。

于 2012-08-23T07:51:46.593 回答