Spring学習ノート(14)


前言
        最近仕事、卒業デザインが忙しくて、仕事をやめました.やっと暇ができました.
Springデータチェック
        Springは自分のチェックフレームを持っています.JSR 303のチェックもサポートしています.ここではSpringはJSR 303のチェックフレームを使用しています.Springのチェックフレームは主にorg.spring frame ewark.vaildationカバンの中にあります.なお、SpringはJSR 303仕様の実装を提供していませんので、JSR 303の実装者jarパケットを追加しなければなりません.Spring JSR 303検査はかなり簡単です.検証が必要なBeanに検証の注釈を加えて、Sping MVCメソッドを参照する時に、Bernの前に@Validを加えるだけでいいです.
public Class user {
    private String userId;
    
    //         ,  4~30             
    @Pattern(regexp="w{4, 30}")
    private String userName;
    
    //   8~20  
    @Length(min=8, max=20)
    private String passWord;
    
    //          
    @Past
    @DateTimeFormat(pattern="yyy-MM-dd")
    private Date createDate;
    
    //      1000  100000
    @DecimalMin(value="1000.00")
    @DeciamlMax(value="100000.00")
    @NumberFormat(pattern="#,###.##")
    private long salary;
}
Controller中:
@Controller
public class UserController {
    
    @RequestMapping(value = "/user", method = RequestMethod.POST)
    public String addUser(@Valid User user, BindingResult result) {
       ......
    }
}
Spring MVCでUserオブジェクトを結合して参試します.結果は後のBindingResoultまたはErrersオブジェクトになります.
注意:BindingResultまたはErrersは検証が必要なBeanの後ろに付いていなければなりません.その間に他の入会があれば直接に異常を報告します.
効果のためのAnnotation:
@AsertTrue/@AsertFalse 
  • 検証適用フィールド:bollan
  • 注釈説明:検証値がtrue/false
  • であるかどうか
  • 属性説明:-
  • @DecimalMax/@DecimalMin 
  • 検証適用フィールド:BigDecimal,BigInteger,String,byte,shot,int,long
  • 注解説明:検証値が指定された小数値以下かどうかは、小数点以下の精度問題に注意しなければならない.
  • 属性説明:公共
  • @Digits 
  • 検証適用フィールド:BigDecimal,BigInteger,String,byte,shot,int,long
  • 認証値の数字構成が適法かどうかは説明しています.
  • 属性説明:integer:整数部分の数字の桁数を指定します.fraction:小数点以下の数字の桁数を指定します.
  • @Future/@Past 
  • 検証適用フィールド:Date、Calendar
  • 注解説明:検証値は現在の時間の後/前
  • かどうか
  • 属性説明:公共
  • @Max/@Min 
  • 検証適用フィールド:BigDecimal,BigInteger,String,byte,shot,int,long
  • は、認証値が指定された整数値
  • 以下であるかどうかを説明する.
  • 属性説明:公共
  • @NotNull/@Null 
  • 検証適用フィールド:参照データタイプ
  • 注釈説明:検証値が非空/空
  • であるかどうか
  • 属性説明:公共
  • @Pattern 
  • 検証適用フィールド:String
  • コメント:検証値が正規表現を備えているかどうか
  • 属性説明:regexp:正規表現flags:Pattern.Flagsの配列を指定し、正規表現の関連オプションを表します.
  • @Size 
  • 検証適用フィールド:String、Collection、Map、配列
  • 注釈説明:検証値が長さ要求を満たすかどうか
  • 属性説明:max:最大長を指定し、min:最小長を指定します.