package cn.domain;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
public class formbean {
private String userName;
private String nickName;
private String mail;
private String birthday;
private String password;
private String password2;
//可能各个文本框可能出现的文本错误封装到map集合中比较好取
private Map errorsmap = new HashMap();
public boolean confirm() {
boolean isOk = true;
if (userName == null && userName.trim().equals("")) {
isOk = false;
errorsmap.put("userName", "用户名不能是空");
} else {
if (!userName.matches("[a-zA-Z](3,8)")) {
isOk = false;
errorsmap.put("userName", "用户名为3-8位字母!");
}
}
if (password == null && password.trim().equals("")) {
isOk = false;
errorsmap.put("password", "密码不能是空的");
} else {
if (!password.matches("\\d(3,8)")) {
isOk = false;
errorsmap.put("password", "密码必须是3-8位数字");
}
}
if (password2 == null && password2.trim().equals("")) {
isOk = false;
errorsmap.put("password2", "重新密码不能是空的");
} else {
if (!password.matches("\\d(3,8)")) {
isOk = false;
errorsmap.put("password2", "密码必须是3-8位数字");
}
}
if (password != password2) {
isOk = false;
errorsmap.put("password2", "两次输入的密码不一样");
}
if (mail == null && mail.trim().equals("")) {
isOk = false;
errorsmap.put("mail", "邮箱不能是空的");
} else {
if (!mail.matches("\\w+@\\w+(\\.\\w+)+")) {
isOk = false;
errorsmap.put("mail", "邮箱格式不正确");
}
}
// 昵称是中文的,常用汉字范围是"[\u4e00-\u9fa5]+"
if (nickName == null && nickName.trim().equals("")) {
isOk = false;
errorsmap.put("nickName", "昵称不能是空的!");
} else {
if (!mail.matches("[\u4e00-\u9fa5]+")) {
isOk = false;
errorsmap.put("nickName", "昵称必须是汉字");
}
}
// 日期的格式必须是1990-12-15形式,使用
if (nickName == null && nickName.trim().equals("")) {
try {
DateLocaleConverter dlc = new DateLocaleConverter();
dlc.convert(this.birthday, "yyyy-MM-dd");
} catch (Exception e) {
isOk = false;
errorsmap.put("birthday", "生日格式输入错误,1990-12-15形式");
}
}
return isOk;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
}
分享到:
相关推荐
当我们提交 Form 表单时,SpringMVC 将自动将 Form 表单提交的参数绑定到 User 对象中,并将其传递给处理器方法。然后,我们可以在处理器方法中访问 User 对象的属性,并进行相应的处理。 需要注意的是,在 ...
在Java Web开发中,动态验证FormBean是一种常见的实践,它允许开发者在运行时根据不同的业务需求灵活地定义和改变表单验证规则。本教程将深入探讨动态验证FormBean的概念、优势以及实现方法。 动态验证FormBean的...
FormBean是Java Web开发中的一个术语,通常用于封装HTML表单提交的数据,以便在服务器端进行处理。它是一个Java类,其属性对应于表单中的字段,可以通过JavaBean规范的方法(getters和setters)来访问这些属性。 1....
在这个例子中,我们将深入探讨如何在Struts1.2中实现动态FormBean并添加验证功能。 首先,让我们理解什么是动态FormBean。在传统的Struts1应用中,每个ActionForm Bean都是一个Java类,它对应于HTML表单的字段,并...
在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包附带一个通用的易扩展的正则表达式校验类...
当用户提交表单时,Struts框架会自动将请求参数填充到对应的FormBean属性中。 二、日期类型的处理 在实际应用中,我们可能会遇到需要处理日期类型的字段。Java中常用的日期类型有`java.util.Date`、`java.sql.Date`...
框架自动收集用户输入并以FormBean的形式将这些数据进行封装后传递给Action,然后FormBean可以被传递到业务层(JavaBean)。通过重载ActionForm类中的validate()方法来校验用户输入的数据。 此外,数据校验也可以...
A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会...
FormBean 是一个特殊的 JavaBean,它可以将 HTML 表单中的数据封装起来,并将其传递给 Action。ServletAction 接收到 HTML 请求后,在 Action-mapping 中找到合适的 FormBean,对 HTML 表单中的属性进行匹配,然后...
当表单提交时,Struts会根据这些规则对数据进行验证,并在错误发生时将错误信息添加到ActionMessage或ActionError。 **三、动态Form** 动态Form是指在运行时根据数据库或其他数据源动态生成的表单。这在处理复杂或...
在Java Web开发中,表单(Form)和Bean(JavaBean)是两个非常重要的概念。表单通常用于收集用户输入的数据,而Bean则作为数据的载体,封装这些数据并提供业务逻辑。`FormBeanUtil`是一个在Java Web开发中常见的工具...
在本文中,我们将深入探讨一个Struts1实现的多文件上传实例,同时也会涉及如何在Form中传递List类型的数据。这个实例对于理解Struts1的请求处理和文件上传机制非常有帮助。 首先,我们需要了解Struts1的ActionForm...
在Action中定义方法来处理表单提交,这些方法会接收FormBean作为参数。 5. **创建 Forward** - 在`struts-config.xml`中配置ActionForward,定义表单提交后的跳转路径,可以是JSP或其他Action。 6. **编辑 Action...
这样在表单提交时,Struts框架可以自动将表单数据封装到FormBean实例中。 总之,Struts 1框架的标签库大大简化了JSP页面的开发。了解这些标签的使用方法和它们的属性,可以帮助开发者更加高效地开发Java Web应用...
Action通常会处理HTTP请求,而FormBean则用来封装表单提交的数据。配置示例如下: ```xml <form-beans> <form-bean name="dynForm" type="org.apache.struts.action.DynaActionForm"> <form-property name=...
最后,当客户端验证通过后,表单会被提交到Struts1的Action,Action会调用`validate()`方法进行服务器端验证。如果所有验证都通过,那么可以向前转发到success页面;否则,将错误信息返回给客户端,显示在error页面...
当用户提交表单后,Struts2会根据表单字段名称自动寻找相应的Action类中的VO对象及其属性,并将表单数据填充到这些属性中。 例如,如果表单中有两个字段`user.username`和`user.password`,那么Struts2将会尝试将这...
Struts的验证机制主要通过`Validator`插件实现,它允许开发者在表单提交前对用户输入的数据进行校验,确保数据符合预期格式或业务规则。验证机制分为两部分:`FormBean`验证和`Action`验证。 - **FormBean验证**:...
在 Form-bean 元素中,我们可以使用 Form-property 元素来设置 FormBean 的属性。Form-property 元素有两个属性:name 和 value。Name 属性指定了需要设置的属性,value 属性指定了该属性的值。 其他元素 除了 ...