validators.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> <validators> <validator name="passwordintegrity" class="com.jaeson.struts.validator.PasswordIntegrityValidator" /> </validators>
import java.util.regex.Pattern; import java.util.regex.Matcher; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; public class PasswordIntegrityValidator extends FieldValidatorSupport { static Pattern digitPattern = Pattern.compile("[0-9]"); static Pattern letterPattern = Pattern.compile("[a-zA-Z]"); static Pattern specialDefaultPattern = Pattern.compile("[!@#$]"); @Override public void validate(Object object) throws ValidationException { String fieldName = this.getFieldName(); String fieldValue = (String) this.getFieldValue(fieldName, object); fieldValue = fieldValue.trim(); Matcher digitMatcher = digitPattern.matcher(fieldValue); Matcher letterMatcher = letterPattern.matcher(fieldValue); Matcher specialMatcher; if (this.getSpecialCharacter() != null) { Pattern specialPattern = Pattern.compile("[" + this.getSpecialCharacter() + "]"); specialMatcher = specialPattern.matcher(fieldValue); } else { specialMatcher = specialDefaultPattern.matcher(fieldValue); } if (!digitMatcher.find()) { this.addFieldError(fieldName, object); } else if (!letterMatcher.find()) { this.addFieldError(fieldName, object); } else if (!specialMatcher.find()) { this.addFieldError(fieldName, object); } } private String specialCharacter; public String getSpecialCharacter() { return specialCharacter; } public void setSpecialCharacter(String specialCharacter) { this.specialCharacter = specialCharacter; } }
validators.xml放在与struts.xml相同的目录下
import java.util.regex.Pattern; import java.util.regex.Matcher; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; public class PasswordIntegrityValidator extends FieldValidatorSupport { static Pattern digitPattern = Pattern.compile("[0-9]"); static Pattern letterPattern = Pattern.compile("[a-zA-Z]"); static Pattern specialDefaultPattern = Pattern.compile("[!@#$]"); @Override public void validate(Object object) throws ValidationException { String fieldName = this.getFieldName(); String fieldValue = (String) this.getFieldValue(fieldName, object); fieldValue = fieldValue.trim(); Matcher digitMatcher = digitPattern.matcher(fieldValue); Matcher letterMatcher = letterPattern.matcher(fieldValue); Matcher specialMatcher; if (this.getSpecialCharacter() != null) { Pattern specialPattern = Pattern.compile("[" + this.getSpecialCharacter() + "]"); specialMatcher = specialPattern.matcher(fieldValue); } else { specialMatcher = specialDefaultPattern.matcher(fieldValue); } if (!digitMatcher.find()) { this.addFieldError(fieldName, object); } else if (!letterMatcher.find()) { this.addFieldError(fieldName, object); } else if (!specialMatcher.find()) { this.addFieldError(fieldName, object); } } private String specialCharacter; public String getSpecialCharacter() { return specialCharacter; } public void setSpecialCharacter(String specialCharacter) { this.specialCharacter = specialCharacter; } }
validators.xml放在与struts.xml相同的目录下
import java.util.regex.Pattern; import java.util.regex.Matcher; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; public class PasswordIntegrityValidator extends FieldValidatorSupport { static Pattern digitPattern = Pattern.compile("[0-9]"); static Pattern letterPattern = Pattern.compile("[a-zA-Z]"); static Pattern specialDefaultPattern = Pattern.compile("[!@#$]"); @Override public void validate(Object object) throws ValidationException { String fieldName = this.getFieldName(); String fieldValue = (String) this.getFieldValue(fieldName, object); fieldValue = fieldValue.trim(); Matcher digitMatcher = digitPattern.matcher(fieldValue); Matcher letterMatcher = letterPattern.matcher(fieldValue); Matcher specialMatcher; if (this.getSpecialCharacter() != null) { Pattern specialPattern = Pattern.compile("[" + this.getSpecialCharacter() + "]"); specialMatcher = specialPattern.matcher(fieldValue); } else { specialMatcher = specialDefaultPattern.matcher(fieldValue); } if (!digitMatcher.find()) { this.addFieldError(fieldName, object); } else if (!letterMatcher.find()) { this.addFieldError(fieldName, object); } else if (!specialMatcher.find()) { this.addFieldError(fieldName, object); } } private String specialCharacter; public String getSpecialCharacter() { return specialCharacter; } public void setSpecialCharacter(String specialCharacter) { this.specialCharacter = specialCharacter; } }
validators.xml放在与struts.xml相同的目录下