验证器

hobby.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>Insert title here</title>
	<s:head></s:head>
</head>
<body>
<s:debug></s:debug>
<%--生日字段错误--%>
<s:actionerror></s:actionerror>
<s:form action="/hobby/hobby.action">
	<s:textfield name="username" label="用户名" requiredLabel="true" requiredPosition="left"></s:textfield>
	<s:textfield name="age" label="年龄"></s:textfield>
	<s:textfield name="email" label="邮箱" requiredLabel="true" requiredPosition="left"></s:textfield>
	<s:password name="password" label="密码" showPassword="true" requiredLabel="true" requiredPosition="left"></s:password>
	<s:password name="repassword" label="确认密码" showPassword="true" requiredLabel="true" requiredPosition="left"></s:password>
	<s:textfield name="score" label="分数"></s:textfield>
	<s:textfield name="url" label="个人主页"></s:textfield>
	<s:radio list="{'男','女'}" label="性别" name="gender" requiredLabel="true" requiredPosition="left"></s:radio>
	<s:submit value="注册"></s:submit>
</s:form>


</body>
</html>

 struts.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <constant name="struts.devMode" value="true" />
    <package name="p2" extends="struts-default" namespace="/hobby">
        <action name="hobby" class="action.HobbyAction" method="add">
            <result name="input">/hobby.jsp</result>
        </action>
    </package>
</struts>

HobbyAction.java

package action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import module.Hobby;
import module.User;
import service.UserService;
import service.impl.UserServiceImpl;

public class HobbyAction extends ActionSupport implements ModelDriven<Hobby> {
    private Hobby hobby=new Hobby();

    @Override
    public Hobby getModel() {
        return hobby;
    }

    public String add(){
        System.out.println(hobby);
        return NONE;
    }
}

HobbyAction-hobby-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.3//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
    <!-- 1. 用户名不能为空-->
    <validator type="requiredstring">
        <param name="fieldName">username</param>
        <message>用户名不能为空</message>
    </validator>
    <!-- 2. 年龄应该是18-100-->
    <validator type="int">
        <param name="fieldName">age</param>
        <param name="min">18</param>
        <param name="max">100</param>
        <message>年龄应该为18-100</message>
    </validator>
    <!-- 3. 邮箱格式应该正确,并且不为空-->
    <validator type="email">
        <param name="fieldName">email</param>
        <message>邮箱应该写正确格式</message>
    </validator>
    <validator type="requiredstring">
        <param name="fieldName">email</param>
        <message>邮箱应该不为空</message>
    </validator>
    <!-- 4. 密码格式应该正确,不能为空,且应该3-8个字符-->
    <validator type="stringlength">
        <param name="fieldName">password</param>
        <param name="minLength">3</param>
        <param name="maxLength">8</param>
        <message>密码为3-8个字符</message>
    </validator>
    <validator type="requiredstring">
        <param name="fieldName">password</param>
        <message>密码不能为空</message>
    </validator>
    <validator type="expression">
        <param name="expression">
            <![CDATA[ password == repassword]]>
        </param>
        <message>确认密码应该和原密码一致</message>
    </validator>
    <validator type="url">
        <param name="fieldName">url</param>
        <message>个人主页默认以http://开头</message>
    </validator>
    <validator type="required">
        <param name="fieldName">gender</param>
        <message>性别为必填项</message>
    </validator>
</validators>

Hobby.java

package module;

import java.util.Date;

public class Hobby {
    private String username;
    private int age;
    private String email;
    private String password;
    private String repassword;
    private int score;
    private String url;
    private String gender;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRepassword() {
        return repassword;
    }

    public void setRepassword(String repassword) {
        this.repassword = repassword;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Hobby{" +
                "username='" + username + '\'' +
                ", age=" + age +
                ", email='" + email + '\'' +
                ", password='" + password + '\'' +
                ", repassword='" + repassword + '\'' +
                ", score=" + score +
                ", url='" + url + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
}

Hobby.properties

invalid.fieldvalue.score=分数应该为数字

最后显示效果:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值