検証エンジンの使用を休止

まず、キャリアパッケージの導入

Mavenのアドレスが 離れてクリックしてください。

<! - https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator - >
<依存>
<groupIdを> org.hibernate.validator </ groupIdを>
<たartifactId> </たartifactId-バリデータは休止状態>
<バージョン> 6.0.16.Final </バージョン>
</依存関係>

第二に、バリデータパッケージを作成します

1.テンプレートのリターンを作成し、
パブリック クラスValidationResult {の
 //     エラーのテスト結果
    プライベート ブール hasErrorsの=をfalseに; 

//     店の地図情報エラー
    プライベート地図<文字列、文字列> = errorMsgMap 新しい新しい HashMapの<> (); 

    パブリック ブールisHasErrors(){
         返すhasErrorsを; 
    } 

    公共 ボイド setHasErrors(ブールザhasErrors){
         この .hasErrors = hasErrors; 
    } 

    パブリックマップ<文字列、文字列> getErrorMsgMap(){
         戻りerrorMsgMapと、
    } 

    公共 ボイド setErrorMsgMap(MAP <文字列、文字列> errorMsgMap){
         この .errorMsgMap = errorMsgMap; 
    } 

//     偽結果MSG一般の実現方法求める書式文字列情報によって
    パブリック文字列getErrMsgを(){
         戻り StringUtils.join(errorMsgMap 。.values()のtoArray() "" ); 
    } 
}
2.チェッカーを実装するクラスを作成します。
@Component
 パブリック クラス ValidatorImplは実装InitializingBean { 

    プライベートバリデータバリデータを、

//     实现效验方法并返回检验结果
    公共ValidationResultの検証(オブジェクト・ビーン){
         最終 ValidationResult結果= 新しいValidationResult()。
        設定 <ConstraintViolation <オブジェクト>> constraintViolationSet = validator.validate(豆)。
        もし(constraintViolationSet.size()> 0 ){
 //             有错误 
            result.setHasErrors()。
            constraintViolationSet.forEach(constraintViolation - >{ 
                文字列たerrMsgアン = constraintViolation.getMessage(); 
                文字列プロパティ名 = constraintViolation.getPropertyPath()のtoString();. 
                Result.getErrorMsgMap()PUT(propertyNameの、たerrMsg AN); 
            }); 
        } 
        戻り値の結果; 
    } 

    @Override 
    公共 ボイド afterPropertiesSet( )スロー例外{
 //         植物によって初期化休止validtorは、それがインスタンス化させる
        この .validator = Validation.buildDefaultValidatorFactory()getValidatorを();. 

    } 
}

第三に、クラスjavaBeanVoに注釈を追加

パブリック クラスUserModel {
     プライベート整数上記のid; 
    @NotBlank(メッセージ =「ユーザー名を空白にすることはできません」プライベート文字列名; 
    @NotNull(メッセージ =「埋めることはできないセックス」のプライベートバイトの性別を、
    @NotNull(メッセージ =「年齢のことはできません塗りつぶし「
    @min(値 = 0を、メッセージ=」年齢は、0より大きくなければなりません「
    @max(値 = 150、メッセージ=」私はあなたに多くの幸せなリターンを望む、150歳の年齢で(どちらキャップを職員に連絡してください)」プライベート整数年齢; 
    @NotBlank(メッセージ =「電話番号は空にすることはできません」プライベート文字列の携帯電話。
    プライベート文字列のregisterMode。
    プライベート文字列thirdPartyId; 

    @NotBlank(メッセージ =「パスワードが空白でない」プライベート文字列encrptPassword; 
}

 

第四に、練習

    @Autowired 
    ValidatorImplバリデータ。

// 方法内写 
        ValidationResult結果= validator.validate(userModel)。
        もし(result.isHasErrors()){
             スロー 新しいBusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR、result.getErrMsgを())。
        }

 

おすすめ

転載: www.cnblogs.com/codeByWei/p/10993900.html