контрольный вопрос о контрольных списках Struts 2 - PullRequest
1 голос
/ 24 февраля 2010

У меня есть 2 списка флажков следующим образом:

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

Я хотел бы добавить проверку, чтобы убедиться, что хотя бы ОДИН из флажков был отмечен. Есть мысли?

Спасибо

Ответы [ 3 ]

1 голос
/ 13 августа 2011

Я сделал метод проверки для действия, которому отправляется форма.

deliveryTimesInputList - это список целых чисел со значениями из списка флажков.

@Override
public void validate() {

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

}
1 голос
/ 26 февраля 2010

Я использую 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;
        }
    }
}

Как вы видите, также для радиокнопок.

0 голосов
/ 04 марта 2018

Используйте следующий код для проверки Struts2 XML. Значение флажка List сохраняется в виде строки. Поэтому вы можете использовать requiredstring.

<field name="someName">
  <field-validator type="requiredstring">
     <message>You need to select at least one option</message>
   </field-validator>
  </field>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...