我有支柱2的CheckBoxList如下:支柱2 CheckBoxList的確認問題
<s:checkboxlist list="listOfOptions" name="someName" />
我想補充驗證,以確保該複選框中的至少一個已被檢查。有什麼想法嗎?
謝謝
我有支柱2的CheckBoxList如下:支柱2 CheckBoxList的確認問題
<s:checkboxlist list="listOfOptions" name="someName" />
我想補充驗證,以確保該複選框中的至少一個已被檢查。有什麼想法嗎?
謝謝
我用JS來做到這一點。
<sx:submit
id="button_submit"
name="button_submit"
onclick="return validateNotEmptyCheckbox();" />
和JS:
function validateNotEmptyCheckbox() {
var checkboxes = document.getElementsByTagName('input');
for (i = 0; i < arguments.length; i++) {
var fieldName = arguments[i];
var atLeastOne = false;
for (j = 0; j < checkboxes.length; j++) {
if ((checkboxes[j].type == "checkbox" || checkboxes[j].type == "radio")
&& checkboxes[j].name == fieldName
&& checkboxes[j].checked == true)
atLeastOne = true;
}
if (atLeastOne == false) {
alert("Choose one!!!");
return false;
}
}
}
也爲單選按鈕,你可以看到。
我對提交表單的操作進行了驗證。
deliveryTimesInputList這裏是從checkboxlist中取值的整數列表。
@Override
public void validate() {
if(deliveryTimesInputList == null || deliveryTimesInputList.isEmpty()){
addFieldError("deliveryTimesInputList", "Du må velge minst et leveringstidspunkt for dette postnummeret");
}
}
使用以下代碼進行struts2 xml驗證。複選框List的值存儲爲字符串。因此,您可以使用requiredstring。
<field name="someName">
<field-validator type="requiredstring">
<message>You need to select at least one option</message>
</field-validator>
</field>