前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >buffalo-验证规则

buffalo-验证规则

作者头像
caoayu
发布2020-09-23 10:48:44
5320
发布2020-09-23 10:48:44
举报
文章被收录于专栏:caoayu的分享

validate包

使用了validate进行验证后会调用validator验证器,无论validataAndCreate还是 validateAndUpdate 都会调用这两个方法后继续调用validate方法,如果使用了validateAndSave方法则会判断id是否存在,如果存在则调用validateAndUpdate,不存在则调用validateAndCreate

validator doc文档

验证使用

代码语言:javascript
复制
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() 方法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • validate包
  • 验证使用
  • 规则
  • 自定义验证规则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档