struts2校验

一、配置错误信息

validate方法

使用addFieldError(fieldName, errorMessage)方法存入字段的错误信息. 

使用addActionError(anErrorMessage)方法存入action的错误信息

使用addActionMessage(aMessage)方法存入action提示信息

在页面

使用<s:fielderror fieldName="xxx" />取出字段的错误信息

使用<s:actionerror/>取出action的错误信息

使用<s:actionmessage/>取出action提示信息

当然如果你的页面使用了struts2提供的表单标签.表单标签会自动显示字段的错误信息

<s:fielderror />

<form action="<c:url value='/Demo1Action.action'/>" >

用户名:<input type="text" name="username"/><br/>

密 码:<input type="password" name="password"/><br/>

<input type="submit" value="提交"/>

</form>

public class Demo1Action extends ActionSupport {

private String username;

private String password;

@Override

public void validate() {

if(username == null || username.trim().length() == 0) {

this.addFieldError("username", "用户名不能为空");

}

if(password == null || password.trim().length() == 0) {

this.addFieldError("password", "密码不能为空");

}

}

public String execute() {

System.out.println(username + ", " + password);

return NONE;

}

}

 

二、创建校验文件

1. 校验文件的命名必须为:ActionName-validation.xml。例如LoginAction的校验文件命名为:LoginAction-validation.xml。

2. 校验文件的路径:必须与Action在同包下。

3. 校验文件的DTD:在xwork-core-x.x.x.jar中找到xwork-validator-x.x.x.dtd,打开它,内部会有一段DTD,我们把它copy过来,放到我们的校验文件中。

xwork-validator-1.0.3.dtd

 

三、校验规则介绍

  1. required:当属性为null时校验失败;
  2. requiredstring:当字符串属性长度为0时校验失败:
  • 参数trim:默认值为true,表示去除前后空白后再校验长度。
  1. stringlength:当字符串长度不在指定范围内时校验失败:
  • minLength:指定字符串的最小长度;
  • maxLength:指定字符串的最大长度。
  1. regex:属性不能匹配正则表达式时校验失败:
  • expression:指定正则表达式;
  • caseSensitive:默认值为true,表示不忽略大小写。
  1. int:当int属性不在指定范围内校验失败:
  • min:最小值;
  • max:最大值。
  1. double:当double属性不在指定范围内校验失败:
  • min:最小值;
  • max:最大值。
  1. fieldexpression:属性必须是OGNL表达式:
  • expression:用来校验的ONGL表达式,例如pass == repass,其中pass和repass是两个属性名称,当这两个属性的值相等时校验通过,否则失败。
  1. email:属性必须是合法的邮件地址;
  2. url:属性必须是合法的网址;
  3. date:属性必须是合法的日期格式。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值