memo

来源:互联网 发布:淘宝自助开通账户 编辑:程序博客网 时间:2024/06/06 01:32
/**
 *
 */
package jp.go.stat.tjweb.validator;


import java.io.Serializable;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;


import jp.go.stat.tjweb.beans.ChangePasswordFormBean;


/**
 * パスワード変更Bean.
 */
@Component
public class ChangePasswordFormValidator implements Serializable, Validator {


/** ロガー. */
private static final Logger logger = LoggerFactory.getLogger(ChangePasswordFormValidator.class);


// private String userId = LoginFormBean.getUserId();//TODO delete


/* (非 Javadoc)
* @see org.springframework.validation.Validator#supports(java.lang.Class)
*/
@Override
public boolean supports(Class<?> arg0) {
return ChangePasswordFormBean.class.isAssignableFrom(arg0);
}
/* (非 Javadoc)
* @see org.springframework.validation.Validator#validate(java.lang.Object, org.springframework.validation.Errors)
*/
@Override
public void validate(Object obj, Errors errors) {
logger.debug("enter:obj={},errors={}", obj, errors);
ChangePasswordFormBean form = (ChangePasswordFormBean) obj;


// UserInfoDao udao;
// String userId = LoginFormBean.getUserId();
// UserInfoBean uib = udao.selectUser(userId);




// List<RawUser.Bean> result = jdbc.query(SQL_SELECT_USER, new Object[]{userId, password}, RawUser.newMapper());


String nowPassword = form.getNowPassword();
String newPassword = form.getNewPassword();
String confirmPassword = form.getConfirmPassword();
String dbPassword = /*UserInfoDaoImpl.checkPassword(userId,nowPassword)*/"ssk554IG$";




if (!errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NOW_PASSWORD)
&& !errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NEW_PASSWORD)
&& !newPassword.equals(confirmPassword)) {
// errors.rejectValue(ChangePasswordFormBean.FIELD_NEW_PASSWORD,
errors.rejectValue(ChangePasswordFormBean.FIELD_CONFIRM_PASSWORD,
ChangePasswordFormBean.MESSAGE_UNMATCH_CONFIRM_PASSWORD);
}


if (!errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NOW_PASSWORD)
&& !errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NEW_PASSWORD)
&& !errors.hasFieldErrors(ChangePasswordFormBean.FIELD_CONFIRM_PASSWORD)) {
// String symbolRegex = "[^-#$=?@\\[\\]\\d\\w]";
// String symbolRegex = "[a-zA-Z0-9]"; //TODO
// String harfRegex = "^[a-zA-Z0-9-#$=?@\\[\\]\\d\\w]+$";
String harfRegex = "^[a-zA-Z0-9-#$=?@\\[\\]_]+$";
// Pattern symbolP = Pattern.compile(symbolRegex);
// Pattern harfP = Pattern.compile(harfRegex);








// 現在のパスワード


if(!nowPassword.matches(harfRegex)){
errors.rejectValue(ChangePasswordFormBean.FIELD_NOW_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);


}else{
// Matcher nowSymbolM = symbolP.matcher(nowPassword);
//// if (!nowSymbolM.find()) {
// Matcher nowHarfM = harfP.matcher(nowPassword);
// if (!nowHarfM.find()) {
//// if (nowHarfM.find()) {
// errors.rejectValue(ChangePasswordFormBean.FIELD_NOW_PASSWORD,
//// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
//// "現在のパスワードは半角英数字、又は9種の記号( # $ - = ? @ [ ] _ )で入力してください。");
// }
// } else {
if(nowPassword.matches("^[a-zA-Z]+$")||nowPassword.matches("^[0-9]+$")){
errors.rejectValue(ChangePasswordFormBean.FIELD_NOW_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// "現在のパスワードは英字と数字を混在させてください。");
}
// }
}


// 新しいパスワード
if(!newPassword.matches(harfRegex)){
errors.rejectValue(ChangePasswordFormBean.FIELD_NEW_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);


}else{
// Matcher newSymbolM = symbolP.matcher(newPassword);
// if (!newSymbolM.find()) {
// Matcher newHarfM = harfP.matcher(newPassword);
// if (!newHarfM.find()) {
//// if (newHarfM.find()) {
// errors.rejectValue(ChangePasswordFormBean.FIELD_NEW_PASSWORD,
//// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
//// "新しいパスワードは半角英数字、又は9種の記号( # $ - = ? @ [ ] _ )で入力してください。");
// }
// } else {
if(newPassword.matches("^[a-zA-Z]+$")||newPassword.matches("^[0-9]+$")){
errors.rejectValue(ChangePasswordFormBean.FIELD_NEW_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// "新しいパスワードは英字と数字を混在させてください。");
}
// }
}


// 新しいパスワード(確認)
if(!confirmPassword.matches(harfRegex)){
errors.rejectValue(ChangePasswordFormBean.FIELD_CONFIRM_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);


}else{
// Matcher confirmSymbolM = symbolP.matcher(confirmPassword);
// if (!confirmSymbolM.find()) {
// Matcher confirmHarfM = harfP.matcher(confirmPassword);
// if (!confirmHarfM.find()) {
//// if (confirmHarfM.find()) {
// errors.rejectValue(ChangePasswordFormBean.FIELD_CONFIRM_PASSWORD,
//// ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
//// "新しいパスワード(確認)は半角英数字、又は9種の記号( # $ - = ? @ [ ] _ )で入力してください。");
// }
// } else {
if(confirmPassword.matches("^[a-zA-Z]+$")||confirmPassword.matches("^[0-9]+$")){
errors.rejectValue(ChangePasswordFormBean.FIELD_CONFIRM_PASSWORD,
// ChangePasswordFormBean.MESSAGE_INVALID_CHARACTER_IN_PASSWORD);
ChangePasswordFormBean.MESSAGE_INVALID_PATTERN_IN_PASSWORD);
// "新しいパスワード(確認)は英字と数字を混在させてください。");
}
// }
}
}


        //TODO 一旦外す、E0303と0304の試験のため
// //現在のパスワードが一致しません。 //TODO "E0301"
// if (!errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NOW_PASSWORD)
// && !errors.hasFieldErrors(ChangePasswordFormBean.FIELD_NEW_PASSWORD)
// && !nowPassword.equals(dbPassword)){
//
// errors.rejectValue(ChangePasswordFormBean.FIELD_NOW_PASSWORD,
// ChangePasswordFormBean.MESSAGE_UNMATCH_NOW_PASSWORD);
// }


}
}
0 0
原创粉丝点击