package cn.itcast.web.formbean;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
//封装表单数据的bean类
public class RegisterFormBean {
private String username;
private String password;
private String password2;
private String email;
private String birthday;
private Map<String, String> errors = new HashMap<>();
public Map<String, String> getErrors() {
return errors;
}
public void setErrors(Map<String, String> errors) {
this.errors = errors;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
/*
* 校验表单数据的方法:
* username 用户名不能为空 3-8字符
* password 密码不能为空 3-8字符
* password2 两次密码一致
* email 可以为空,不为空要是一个合法的邮箱
* birthday 可以为空 不为空要是一个合法的日期
*/
public boolean validate(){
boolean isOk = true;
if (this.username==null || this.username.trim().equals("")) {
errors.put("username","用户名不能为空");
isOk = false;
}
if (!this.username.matches("[a-zA-Z]{3,8}")) {
errors.put("username","用户名必须是3-8字符");
isOk = false;
}
if (this.password==null || this.password.trim().equals("")) {
errors.put("password", "密码不能为空");
isOk = false;
}else if(!this.password.matches("\\d{3,8}")){
errors.put("password","密码必须是3-8位数字");
isOk = false;
}
if (this.password != null) {
if (!this.password2.equals(password)) {
errors.put("password2", "两次输入的密码必须一致");
isOk = false;
}
}
if (this.email!= null) {
if (!this.email.matches("\\w+@\\w+(\\.\\w+)+")) {
errors.put("email","邮箱格式不合格");
isOk = false;
}
}
if (this.birthday!=null) {
try {
DateLocaleConverter converter = new DateLocaleConverter();
converter.convert(birthday);
} catch (Exception e) {
isOk = false;
errors.put("birthday", "日期格式不合格");
}
}
return isOk;
}
}