В Struts2 можем ли мы иметь как xml проверки (ActionClass-method-validation.xml), так и метод проверки, реализованный в классе Action.
Я спрашивал, так как этот xml проверки не вызывается в моей ситуации.
надеюсь, что вы создали правильный файл правила actionname-validation.xml (примечание - имя действия учитывает регистр) и сохранили его в том же пакете, что и класс Action.затем, пожалуйста, добавьте перехватчик валидации в Struts.xml внутри этого конкретного тега действия.
<action name="welcome" class="com.abc.web.WelcomeAction"> <interceptor-ref name="validation" /> <result name="success" >hello.jsp</result> </action>
Более подробную информацию о платформе валидации смотрите в http://struts.apache.org/2.0.14/docs/validation.html и http://java.dzone.com/articles/struts2-tutorial-part-37
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name = "firstname"> <field-validator type = "stringlength"> <param name = "minlength">3</param> <param name ="maxlength">18</param> <message>Please Enter Your First Name</message> </field-validator> </field> <field name = "lastname"> <field-validator type = "required"> <message>Please Enter Your Last Name</message> </field-validator> </field> <field name = "mobilenumber"> <field-validator type = "int"> <message>Please Enter Your Mobile Number</message> </field-validator> </field> <field name = "dob"> <field-validator type = "date"> <message>Please Enter Your Date Of Birth</message> </field-validator> </field> <field name = "emailid"> <field-validator type = "email"> <message>Please Enter Email ID Correctly</message> </field-validator> </field> <field name = "hometown"> <field-validator type = "required"> <message>Please Enter Your Home Town</message> </field-validator> </field> <field name = "currentcity"> <field-validator type = "required"> <message>Please Enter Your Current City</message> </field-validator> </field> <field name = "username"> <field-validator type = "stringlength"> <param name = "minlength">3</param> <param name ="maxlength">18</param> <message>Please Enter Your User Name</message> </field-validator> </field> <field name = "password"> <field-validator type = "stringlength"> <param name = "minlength">8</param> <message>Password must Contain minimum of 8 Characters</message> </field-validator> </field> <validator type = "expression"> <param name = "expression">password.equals(password1)</param> <meaasage>Passwords Does Not Match</message> </validator> </validators>
Просто пройдите и проверьте, правильно ли это