project_account.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * @description: 视图层 用户
  3. * @Author: CP
  4. * @Date: 2020-09-08 16:27:54
  5. * @FilePath: \construction_management\web\viewmodels\project_account.go
  6. */
  7. package viewmodels
  8. import (
  9. "regexp"
  10. validation "github.com/go-ozzo/ozzo-validation/v3"
  11. )
  12. type ProjectAccount struct {
  13. Id string `form:"id" json:"id"`
  14. ProjectId string `form:"projectId" json:"projectId"`
  15. Account string `form:"account" json:"account"`
  16. Password string `form:"password" json:"password"`
  17. Name string `form:"name" json:"name"`
  18. Company string `form:"company" json:"company"`
  19. Position string `form:"position" json:"position"`
  20. Role string `form:"role" json:"role"`
  21. Mobile string `form:"mobile" json:"mobile"`
  22. Telephone string `form:"telephone" json:"telephone"`
  23. IsAdmin int `form:"isAdmin" json:"isAdmin"`
  24. AccountGroup int `form:"accountGroup" json:"accountGroup"`
  25. Enable int `form:"enable" json:"enable"`
  26. Csrf string `form:"csrf"`
  27. }
  28. func (l ProjectAccount) Validate() error {
  29. return validation.ValidateStruct(&l,
  30. validation.Field(&l.Account, validation.Required.Error("账号不能为空"), validation.Match(regexp.MustCompile("^[A-Za-z0-9]+$")).Error("只支持英文数字组合")),
  31. validation.Field(&l.Password, validation.Required.Error("密码不能为空"), validation.Match(regexp.MustCompile("^[a-zA-Z]\\w{5,17}$")).Error("密码支持英文数字及符号,6~18之间")),
  32. validation.Field(&l.Name, validation.Required.Error("姓名不能为空")),
  33. validation.Field(&l.Company, validation.Required.Error("单位不能为空")),
  34. validation.Field(&l.Position, validation.Required.Error("职位不能为空")),
  35. validation.Field(&l.Mobile, validation.Required.Error("手机不能为空"), validation.Match(regexp.MustCompile("^([1][3,4,5,6,7,8,9])\\d{9}$")).Error("只支持英文数字组合")),
  36. validation.Field(&l.AccountGroup, validation.Required.Error("账号组不能为空")),
  37. )
  38. }
  39. func (l ProjectAccount) ValidateUpdate() error {
  40. return validation.ValidateStruct(&l,
  41. validation.Field(&l.Name, validation.Required.Error("姓名不能为空")),
  42. validation.Field(&l.Company, validation.Required.Error("单位不能为空")),
  43. validation.Field(&l.Position, validation.Required.Error("职位不能为空")),
  44. //validation.Field(&l.Mobile, validation.Required.Error("手机不能为空"), validation.Match(regexp.MustCompile("^([1][3,4,5,6,7,8,9])\\d{9}$")).Error("只支持英文数字组合")),
  45. validation.Field(&l.AccountGroup, validation.Required.Error("账号组不能为空")),
  46. )
  47. }
  48. func (l ProjectAccount) ValidatePassword() error {
  49. return validation.ValidateStruct(&l,
  50. validation.Field(&l.Account, validation.Required.Error("账号不能为空"), validation.Match(regexp.MustCompile("^[A-Za-z0-9]+$")).Error("只支持英文数字组合")),
  51. validation.Field(&l.Password, validation.Required.Error("密码不能为空"), validation.Match(regexp.MustCompile("^[a-zA-Z]\\w{5,17}$")).Error("密码支持英文数字及符号,6~18之间")),
  52. )
  53. }
  54. //MoveId string `form:"moveId"`
  55. // LastLogin int `xorm:"comment('最后登录时间') INT(11)"`
  56. // EnterpriseId int `xorm:"comment('企业id') INT(11)"`
  57. // CreateTime int `xorm:"comment('创建时间') INT(11)"`
  58. // AuthMobile string `xorm:"comment('认证手机') VARCHAR(32)"`
  59. // Permission string `xorm:"comment('权限') TEXT"`
  60. // Cooperation int `xorm:"comment('协作') TINYINT(4)"`
  61. // LastNotice time.Time `xorm:"comment('待办事项,通知') DATETIME"`
  62. // SignPath string `xorm:"comment('电子签名图片地址') VARCHAR(512)"`
  63. // SessionToken string `xorm:"comment('token信息验证') VARCHAR(128)"`
  64. // SmsType string `xorm:"comment('短信通知类型') TEXT"`
  65. // WxType string `xorm:"comment('微信通知类型') TEXT"`
  66. // Bind int `xorm:"comment('是否已绑定定制项目') TINYINT(1)"`
  67. // WxOpenid string `xorm:"comment('微信绑定openid') VARCHAR(64)"`
  68. // WxName string `xorm:"comment('微信昵称') VARCHAR(255)"`