BeanValidation引數校驗筆記

2021-09-02 22:19:45 字數 1315 閱讀 2823

前言

bean validation是乙個驗證引數的規範,能簡化**,讓我們盡量避免寫很多的冗餘的**來校驗輸入引數的正確性,特別是暴露給外部用的api,必須要做引數驗證,下面就將常用的驗證方式做乙個記錄。

步驟

org.hibernate

hibernate-validator

6.0.13.final

@notnull(message = "姓名不能為空!")

private string name;

@notempty(message = "手機號不能為空及空字元")

@size(min = 11, max = 11, message = "手機號為11位")

private string phone;

validator validator = validation.builddefaultvalidato***ctory().getvalidator();

/*** 校驗規則:object != null;

*/@test

public void testnotnull()

private list<@notblank(message = "存在的郵箱元素不能為空") string> emails;

private map<@email string, @notnull user> customers;

private integer age;

public optional<@min(18) integer> getage()

@retention(retentionpolicy.runtime)

@target( )

@constraint(validatedby = )

@documented

public @inte***ce usersource ;

class<? extends payload> payload() default {};

}public class usertypevalidator implements constraintvalidator);

@override

public boolean isvalid(string value, constraintvalidatorcontext context)

}@usersource(message = "錯誤的使用者**!")

private string source;

主參形參的區別

一 區別 1 函式定義方式不同 形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。2 使用原理不同 函式的形参列於函式宣告中,在函式定義的函式體內使用。當函式呼叫時,形參 任何種類的 是一類將被填充的空白或是佔位符。實參是...

HOG detectMultiScale 引數分析

前段時間學習了hog描述子及其與svm結合在行人檢測方面的應用。當我們用訓練好的模型去檢測測試影象時,我們會用到detectmultiscale 這個函式來對影象進行多尺度檢測。這是opencv3.1裡的引數解釋 可以看到一共有8個引數。1.img 必需 這個不用多解釋,顯然是要輸入的影象。影象可以...

HOG detectMultiScale 引數分析

好文章,想分享,侵權刪 前段時間學習了hog描述子及其與svm結合在行人檢測方面的應用。當我們用訓練好的模型去檢測測試影象時,我們會用到detectmultiscale 這個函式來對影象進行多尺度檢測。這是opencv3.1裡的引數解釋 可以看到一共有8個引數。1.img 必需 這個不用多解釋,顯然...