Как использовать проверку Struts2 для условной проверки? - PullRequest
5 голосов
/ 24 февраля 2010

Можно ли использовать Struts2 для условной проверки? Например, если установлен флажок «Другое», то поле «OtherDetails» не должно быть пустым?

Обратите внимание, что я ищу Struts2, а не Struts1. Любой пример высоко ценится.

Ответы [ 2 ]

4 голосов
/ 11 января 2011

Вы, вероятно, можете использовать валидатор выражений. Если вы проверяете через XML, у вас должно быть что-то вроде:

<validators>

  <validator type="expression">
    <param name="expression">(other && (otherDetails!=null && otherDetails.trim()!=""))</param>
    <message>You must provide other details.</message>
  </validator>

</validators>

Подробнее см. http://struts.apache.org/2.2.1/docs/validation.html.

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

Возможно, вы можете использовать проверку JS.

JSP:

<s:checkbox id="other" name="other" />
<s:textfield id="otherDetails" name="otherDetails"></s:textfield>

<sx:submit 
            id="button_submit"
            name="button_submit"
            onclick="return checkOther();" />   

JS:

function checkOther() {
    if(document.getElementById('other').checked == true) {
        if(document.getElementyById('otherDetails').value.length == 0) {
            //you should trim the value
            alert("Insert other details");
            return false;
        }
    }

    return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...