package addressbook;
import java.util.regex.*;;
/**
* エラーチェッククラス
*
*/
public class CheckBean {
boolean errflg = false;
String errmsg = "";
/**
* コンストラクタ
*/
public CheckBean(){
}
/**
* item情報を持ったパラメータをチェックする
*/
public void checkItemParam(ParamBean param){
this.checkBlank(param.getId(),"ID");
this.checkId(param.getId());
this.checkBlank(param.getName(),"名前");
this.checkBlank(param.getZip(),"郵便番号");
this.checkZip(param.getZip());
this.checkBlank(param.getAddress(),"住所");
}
/**
* Idが半角数字6桁で構成されているかチェック
* @param str
*/
public void checkId(String str){
Pattern pattern = Pattern.compile("[0-9]{6}");
Matcher matcher = pattern.matcher(str);
if(!matcher.matches()){
this.errflg = true;
this.errmsg += "
IDが不正に変更された恐れがあります";
}
}
/**
* ParamNameがnullまたは空かどうかチェックする
* @param str
* @param paramName
*/
public void checkBlank(String str,String paramName){
if(str == null || str.equals("")){
this.errflg = true;
this.errmsg += "
"+paramName+"を入力してください。";
}
}
/**
* 郵便番号をチェック
* @param str
*/
public void checkZip(String str){
Pattern pattern = Pattern.compile("^[0-9]{3}-[0-9]{4}$");
Matcher matcher = pattern.matcher(str);
if(!matcher.matches()){
this.errflg = true;
this.errmsg += "
郵便番号は***-****の形式で半角数字で入力してください。";
}
}
/**
* エラーメッセージを返す
*/
public String getErrmsg(){
return this.errmsg;
}
/**
* エラーフラグをチェックする
* @return
*/
public boolean getErrflg(){
return this.errflg;
}
}