1.jsp文件中form表单:
<html:form action="/test">
<html:text property="username" />
<html:text property="password" />
<html:submit property="submit" value="submit"></html:submit>
</html:form>
2.struts-config.xml文件中action
<action
path="/test"
type="jp.co.TestAction"
name="logonForm"
scope="request"
input="/pages/Welcome.jsp"
validate="true">
<forward name="sucess" path="/pages/Test.jsp" />
</action>
注意,validate="true"。
3.LogonForm
form要继承ValidateActionForm
import org.apache.struts.chain.commands.servlet.ValidateActionForm;
public class LogonForm extends ValidateActionForm{
private String username = "";
private String password ="";
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
}
4.Validator.xml文件
<formset>
<!-- name指定所用的form名 -->
<form name="logonForm">
<field
<!-- 要check的项目 -->
property="username"
<!-- 要进行的check 必须输入和最小位数check -->
depends="required,minlength">
<!-- 出错时表示信息的替换内容(logonForm.username=username,“username”将替换信息中的{0}) -->
<arg key="logonForm.username"/>
<!-- minlengthcheck出错时表示信息的替换内容(logonForm.username=username,“username”将替换信息中的{0}“5”将替换信息中的{1}) -->
<arg name="minlength" key="5" resource="fase"/>
<!-- 向验证规则传递参数 -->
<var>
<!-- minlength验证规则 输入内容的位数不能小于5位 -->
<var-name>minlength</var-name>
<var-value>5</var-value>
</var>
</field>
<field
property="password"
depends="required,mask,maxlength">
<!-- maxlength验证出错时表示的信息为test.maxlength({0} aaaaaaaaaaaaa {1} bbbbbbbbbbbbbb.) -->
<msg name="maxlength" key="test.maxlength" />
<arg key="logonForm.password"/>
<arg name="maxlength" key="5" resource="false" />
<var>
<!-- mask验证规则 输入内容必须是数字或字母 -->
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
<var>
<!-- maxlength验证规则 输入内容的位数不能大于5位 -->
<var-name>maxlength</var-name>
<var-value>5</var-value>
</var>
</field>
</form>
</formset>
5.MessageResources.properties
logonForm.username=username
logonForm.password=password bbb
test.maxlength={0} aaaaaaaaaaaaa {1} bbbbbbbbbbbbbb.