Struts 2 проверяет поле, если не пустое - PullRequest
2 голосов
/ 11 августа 2011

В форме есть два поля email и номер телефона (целое число). Форма проверяется с использованием структуры проверки Struts (ActionClass-validation.xml). Эти два поля являются необязательными, поэтому пользователь может оставить их пустыми. Но если они не пустые, поля должны быть проверены. Пожалуйста, помогите мне узнать, как написать валидаторы в XML для этого.

Ответы [ 2 ]

4 голосов
/ 18 ноября 2011

Вы также можете использовать аннотации.На мой взгляд, это более понятно для понимания и легко написать и отладить.Это пример:

@EmailValidator(type = ValidatorType.SIMPLE, message = "", key = "validation.email")
public String getEmail() {
  return email;
}

Для числа вы можете использовать валидатор регулярных выражений:

@RegexFieldValidator(key = "validation.number", message = "", type = ValidatorType.SIMPLE, expression = NUMBER_PATTERN_STRING)
public String getNumber() {
  return number;
}

В вашем JSP вы можете ссылаться на ошибки, используя поля (или действия) теги ошибок:

<s:fielderror fieldName="email" cssClass="myerrorclass"/>
<s:textfield  name="email" cssClass="myclass" cssErrorClass="myothererrorclass"/>

Надеюсь, код довольно понятен.Удачного кодирования!;)

1 голос
/ 18 ноября 2011

Попробуйте это

<field name="email">
    <field-validator type="email">
        <message>Invalid Email (empty email accepted)</message>
    </field-validator>
</field>

<field name="contact">
     <field-validator type="regex">
       <param name="expression"><![CDATA[([1234567890]+)]]></param>
       <message>Invalid Contact Number (empty number accepted)</message>
    </field-validator>
</field>

Вот полный пример.

...