struts 2 checkboxlist验证问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts 2 checkboxlist验证问题相关的知识,希望对你有一定的参考价值。

我有struts 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的值存储为string.Hence,您可以使用requiredstring。

<field name="someName">
  <field-validator type="requiredstring">
     <message>You need to select at least one option</message>
   </field-validator>
  </field>

以上是关于struts 2 checkboxlist验证问题的主要内容,如果未能解决你的问题,请参考以下文章

如何验证用户在 CheckBoxList 中选择了至少一个复选框?

Struts2的标签库——表单标签

Struts2声明式验证相关问题

使用 Struts 2 + Dojo 框架进行表单验证

Struts2系列:(14)Struts2验证

Struts 2 请求参数验证(Int 和字符串)