2012-05-10 146 views
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" 
})); 

然後添加相同的樣式的代碼作爲選擇框到表單驗證器。

回答