我在进行密码验证方面遇到了麻烦.我从名为applicationconstants的java类中获取密码范围的最小值和最大值,并在servlet中调用它.我在另一个java类中使用验证函数并在servlet中调用它.请帮我解决这个问题.
servlet代码
int minLength = ApplicationConstants.PASSWORD_MIN_LENGTH;
int maxLength = ApplicationConstants.PASSWORD_MAX_LENGTH;
if (user.getUserPassword().length() > 0 || user.getUserPassword() !=null) {
if (Validation.validateStringLengthRange(user.getUserPassword(), minLength, maxLength)) {
System.out.println("servlet");
isvalidate = false;
hashMap.put("password", props.getText("error.password.compare.outofrange"));
session.setAttribute("errorMessage", hashMap);
}
}
Run Code Online (Sandbox Code Playgroud)
Validation.java
public static boolean validateStringLengthRange(String name, int min, int max) {
boolean isValid = true;
int len = name.length();
if (len > 0) {
if (len < min || len > max) {
System.out.println("validation.java");
isValid = false;
}
}
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
ApplicationConstants.java
public static final int PASSWORD_MIN_LENGTH = 6;
public static final int PASSWORD_MAX_LENGTH = 18;
Run Code Online (Sandbox Code Playgroud)
盲目尝试,因为paxdiablo说你没有指明问题
如果问题是你得到NullPointerException,请仔细检查这一行
if (user.getUserPassword().length() > 0 || user.getUserPassword() !=null) {
Run Code Online (Sandbox Code Playgroud)
并将其更改为
if (user.getUserPassword() !=null && user.getUserPassword().length() > 0) {
Run Code Online (Sandbox Code Playgroud)
那应该解决它;)
归档时间: |
|
查看次数: |
605 次 |
最近记录: |