struts 2 checkboxlist验证问题

问题描述 投票:1回答:3

我有struts 2 checkboxlist如下:

<s:checkboxlist list="listOfOptions" name="someName" />

我想添加验证以确保至少有一个复选框已被选中。有什么想法吗?

谢谢

validation struts2
3个回答
1
投票

我用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;
        }
    }
}

您也可以看到单选按钮。


1
投票

我对提交表单的操作进行了验证。

deliveryTimesInputList在这里是整数列表,其中包含checkboxlist中的值。

@Override
public void validate() {

    if(deliveryTimesInputList == null || deliveryTimesInputList.isEmpty()){
        addFieldError("deliveryTimesInputList", "Du må velge minst et leveringstidspunkt for dette postnummeret");
    }

}

0
投票

使用以下代码进行struts2 xml验证。复选框List的值存储为string.Hence,您可以使用requiredstring。

<field name="someName">
  <field-validator type="requiredstring">
     <message>You need to select at least one option</message>
   </field-validator>
  </field>
© www.soinside.com 2019 - 2024. All rights reserved.