Ich versuche, die Struts-Validierung zu verwenden, um verschiedene Felder zu überprüfen, die von Benutzern eingegeben wurden. Wenn jemand mir helfen kann zu sehen, was mir fehlt, wäre ich sehr dankbar. Hier ist, was ich habe:Warum funktioniert die Validierung der Struts nicht?
Ich habe validation.xml
und TestAction-validation.xml
in WEB-INF/classes/
Hier ist validation.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator Config 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
<validators>
<validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
. . .
</validators>
Hier ist TestAction-validation.xml
:
<!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="testInt">
<field-validator type="int">
<param name="min">0</param>
<param name="max">9</param>
<message>Number not in range</message>
</field-validator>
</field>
<field name="testString">
<field-validator type="stringlength">
<param name="minLength">4</param>
<message>String not long enough.</message>
</field-validator>
</field>
</validators>
Mein struts.xml
erstreckt struts-default
, und ich habe eine sehr einfache Aktionsklasse TestAction
, die ActionSupport
erweitert und Felder testInt
und testString
hat.
Von dem, was ich gelesen habe, sollte dies für Struts ausreichen, um die eingegebenen Werte zu überprüfen, aber es passiert nicht. Was vermisse ich?
Können Sie Ihre Aktion mapping/struts.xml posten? Wenn du den dev-Modus (struts.devMode) aktivierst, falls dies nicht der Fall ist, könntest du mehr Hinweise dazu bekommen, was passiert. – Nate