Spring検証フレームの使用過程について
1930 ワード
Spring検証フレームValidatorの使用について
JavaEEのバックエンド開発では、しばしばデータの検証に関わっています.Springの検証フレームを使って、私たちのニーズをうまく解決することができます.全体の検証フレームの使用では、主に2つの部分に分けられます.バックエンドの検証とフロントエンドの表示です.バックエンド認証:第一歩:検証するクラスを確立し、Validatorインターフェースを実現する必要があります.
JavaEEのバックエンド開発では、しばしばデータの検証に関わっています.Springの検証フレームを使って、私たちのニーズをうまく解決することができます.全体の検証フレームの使用では、主に2つの部分に分けられます.バックエンドの検証とフロントエンドの表示です.バックエンド認証:第一歩:検証するクラスを確立し、Validatorインターフェースを実現する必要があります.
public class UserValidator implements Validator {
@Override
public boolean supports(Class> clazz) {
return User.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
User user = (User) target;
if(null == user.getPassword() || "".equals(user.getPassword())){
errors.rejectValue("password",null,null,"password is null");
}
}
}
supports方法は、私たちが検証したいクラスかどうかを判断するために用いられます.異常が発生しない場合は、validate方法でデータを判断し、判断したエラー情報をerrorsオブジェクトに置きます.第二ステップ:制御層に登録され、第一ステップで作成された認証クラスを使用する.(実行される方法パラメータには@ValidatedとBindingResoultが含まれていなければなりません.そして、前の順に隣接しています.位置が逆になっていたり、密着していないと異常が発生します.)@Controller
public class UserController {
@InitBinder
public void initBinder(DataBinder dataBinder){
dataBinder.replaceValidators(new UserValidator());
}
@RequestMapping("login.mvc")
public String test(@Validated @ModelAttribute("user") User user, BindingResult br){
if(br.hasErrors()){
System.out.println(" ");
}
return "index";
}
}
ステップ3:フロントエンドページにエラーメッセージを表示するには、フォームを提出するには、sf:formフォームを使用して、modelAttribute属性を追加する必要があります(コントロール層で定義されています).
以上がスプリングの検証フレームの検証と表示の全過程です.もし間違いがあれば、ご指摘ください.ありがとうございます.