根据javaweb的跳转实例https://blog.csdn.net/m0_73495664/article/details/133134618,我们只需要外加一个用于验证的类就可以完善项目
我们把这个类命名为ValidateDemo,源码如下
import java.util.HashMap;
import java.util.Map;
/*
做数据有效性验证
如何一次带回很多的错误信息?还要能区分不同的错误信息
*/
public class ValidateDemo{
public static Map<String, String> validateUser(User user) {
Map<String, String> error = new HashMap<>();
//验证用户名 非空 不能是空字符串 6-18位的字符(a--z A--Z 0--9 _)
if (user.getUsername() == null || "".equals(user.getUsername().trim())) {
error.put("username", "用户名不能为空");
} else if (!(user.getUsername().matches("\\w{6,18}"))) {
error.put("username", "用户名不合法!");
}
//密码验证
if (user.getPasswold() == null || "".equals(user.getPasswold().trim())) {
error.put("password", "密码不能为空");
} else if (!(user.getPasswold().matches("[a-zA-Z0-9]{6,18}"))) {
error.put("password", "密码不合法!");
}
//邮箱验证
System.out.println(user.getEmail());
if (user.getEmail() == null || "".equals(user.getEmail().trim())) {
error.put("email","邮箱不能为空");
}else if(!(user.getUsername().matches("\\w+[@][a-zA-Z0-9]+[.][a-zA-Z0-9]+"))){
error.put("email","邮箱不合法");
}
//电话验证
//手机号验证
if (user.getNumber()==null || "".equals(user.getNumber().trim())){
error.put("number","手机号不能为空");
}else if ( !(user.getNumber().matches("^1[0-9]{10}"))){//[1][0-9]{10}
error.put("number","手机号不符合!");
}
return error;
}
}
就可以达到我们想要的效果