validate包
使用了validate
進行驗證後會呼叫validator
驗證器,無論validataAndCreate
還是 validateAndUpdate
都會呼叫這兩個方法後繼續呼叫validate
方法,如果使用了validateAndSave
方法則會判斷id
是否存在,如果存在則呼叫validateAndUpdate
,不存在則呼叫validateAndCreate
驗證使用
func (m *model) validate(db *db.conn) (*validate.Errors,errro){
return validate.validate{
&validate.StringIsPresent{Name:"",Field: m.attr,Message:""},
},nil
}
規則
1. BytesArePresent // 驗證欄位位元組數是否為空, 屬性: Name string, Field []byte, Message string
2. EmailsPresent // 根據正則表達是驗證郵箱, 屬性: Name string, Field string, Message string
3. EmailLike // 驗證郵箱是否包括域名和@符, 屬性: Name string, Field string, Message string
4. IntArrayIsPresent // 驗證欄位是否為空陣列, 屬性: Name strig, Field []int,Message string
5. IntIsGreaterThan // 驗證欄位是否大於比較值, 屬性: Name string, Field int, Compared int,Message string
6. IntIsLessThan // 驗證欄位是否小於比較值, 屬性: Name string, Field int, Compared int, Message string
7. IntIsPresent //驗證欄位是否等於0, 屬性: Name string, Field int, Message string
8. IntsAreEqual //驗證兩個整數是否相等, 屬性: Name string,ValueOne int,ValueTwo int,Message string
9. IntsAreNotEqual // 驗證兩個整數是否不相等, 屬性: Name string ,ValueOne int ,ValueTwo int,Message string
10. RegexMatch //驗證正則規則是否匹配欄位, 屬性: Name string, Field string,Expr string,Message string
11. StringInclusion //驗證欄位是否在字元切片內, 屬性: Name string, Field string, List []string, Message string
12. StringIsPresent // 驗證字串是否為空, 屬性: Name string, Field string,Message string
13. StringLengthInRange //驗證字串長度在某個範圍內, 屬性: Name string, Field strin ,Max int,Min int,Message string
14. StringsMatch //驗證欄位是否與字串匹配, 屬性: Name string, Field string,Field2 string Message string
15. TimeAfterTime //驗證第一個時間是否在第二個時間後, 屬性: FirstName string, FirstTime time.Time, SecondName string, SecondTime time.Time
,Message string
16. TimeIsBeforeTime //驗證第一個時間是否在第二個時間之前, 屬性: FirstName string,FirstTime time.Time,SecondName string ,SecondTime
time.Time ,Message string
17. TimeIsPresent //驗證時間是否有效, 屬性: Name string ,Field time.Time,Message string
18. URLIsPresent //驗證URL格式是否正確,屬性: Name string ,Field string,Message string
19. UUIDIsPresent //驗證UUID是都有效, 屬性: Name string ,Field uuid.UUID , Message string
20. FuncValiddator //驗證是否為方法, 屬性: Fn func() bool, Field string,Name string ,Message string
自定義驗證規則
自定義驗證規則必須實現 IsVaild()
方法
如果你正在使用框架或者正在學習,不妨加入下方的buffalo框架交流群,群內有buffalo官方的視訊及中文文件,一起分享討論技術問題,不僅限於buffalo,go
本作品採用《CC 協議》,轉載必須註明作者和本文連結