func (regUser *RegUser) Validate(v *revel.Validation, session *mgo.Session) { //Check workflow: //see @validation.go Check(obj interface{}, checks ...Validator) //Validator is an interface, v.Check invoke v.Apply for each validator. //Further, v.Apply invoke validator.IsSatisfied with passing obj. //Checking result is an object of ValidationResult. The field Ok of ValidationResult //would be true if checking success. Otherwise, Ok would be false, and another filed //Error of ValidationResult would be non-nil, an ValidationError filled with error message //should be assigned to Error. v.Check(regUser.UserName, revel.Required{}, revel.Match{USERNAME_REX}, DuplicatedUserValidator{session}, ) //validation provide an convenient method for checking Email. //revel has a const for email rexgep, Email will use the rex to check email string. v.Email(regUser.Email) v.Check(regUser.Email, DuplicatedEmailValidator{session}, ) v.Check(regUser.PasswordStr, revel.Required{}, revel.Match{PWD_REX}, ) v.Check(regUser.ConfirmPwdStr, revel.Required{}, revel.Match{PWD_REX}, ) //pwd and comfirm_pwd should be equal v.Required(regUser.PasswordStr == regUser.ConfirmPwdStr).Message("The passwords do not match.") }
func (a *Admin) Validate(v *revel.Validation) { v.Required(a.Username).Message("请输入用户名!") valid := v.Match(a.Username, regexp.MustCompile("^\\w*$")).Message("只能使用字母、数字和下划线!") if valid.Ok { if a.HasName() { err := &revel.ValidationError{ Message: "该用户名已经注册过!", Key: "a.Username", } valid.Error = err valid.Ok = false v.Errors = append(v.Errors, err) } } v.Required(a.Email).Message("请输入Email") valid = v.Email(a.Email).Message("无效的电子邮件!") if valid.Ok { if a.HasEmail() { err := &revel.ValidationError{ Message: "该邮件已经注册过!", Key: "a.Email", } valid.Error = err valid.Ok = false v.Errors = append(v.Errors, err) } } v.Required(a.Password).Message("请输入密码!") v.MinSize(a.Password, 3).Message("密码最少三位!") }
func (user *User) Validate(v *revel.Validation) { v.Required(user.Name).Message("请输入用户名") valid := v.Match(user.Name, nameRegex).Message("只能使用字母、数字和下划线") if valid.Ok { if user.HasName() { err := &revel.ValidationError{ Message: "该用户名已经注册过", Key: "user.Name", } valid.Error = err valid.Ok = false v.Errors = append(v.Errors, err) } } v.Required(user.Email).Message("请输入Email") valid = v.Email(user.Email).Message("无效的电子邮件") if valid.Ok { if user.HasEmail() { err := &revel.ValidationError{ Message: "该邮件已经注册过", Key: "user.Email", } valid.Error = err valid.Ok = false v.Errors = append(v.Errors, err) } } v.Required(user.Password).Message("请输入密码") v.MinSize(user.Password, 3).Message("密码最少三位") v.Required(user.ConfirmPassword == user.Password).Message("密码不一致") }
func (user *User) Validate(v *revel.Validation) { v.Required(user.Password) //v.MinSize(user.Password, 6) v.Required(user.Email) v.Email(user.Email) if user.Email == "*****@*****.**" && user.Password == "test" { user.Id = "6964943e-535a-4736-85ad-4baaa9656709" } else { v.Error("Sorry! invalid account ...") } }
func (c *Credentials) Validate(v *revel.Validation) { v.Required(c.Email) v.Email(c.Email) v.MaxSize(c.Email, 32) v.MinSize(c.Email, 5) v.Required(c.Password) v.MaxSize(c.Password, 128) v.MinSize(c.Password, 6) }
func (user *User) Validate(v *revel.Validation) { v.Required(user.Username) v.MinSize(user.Username, 6) v.Required(user.FirstName) v.Required(user.LastName) v.Required(user.Age) v.Range(user.Age, 16, 120) v.Required(user.Password) v.MinSize(user.Password, 6) v.Required(user.PasswordConfirm) v.Required(user.PasswordConfirm == user.Password). Message("The passwords do not match.") v.Required(user.Email) v.Email(user.Email) v.Required(user.EmailConfirm) v.Required(user.EmailConfirm == user.Email). Message("The email addresses do not match") v.Required(user.TermsOfUse) }
func (user *User) Validate(v *revel.Validation) { v.Check(user.Firstname, revel.Required{}, revel.MinSize{1}, revel.MaxSize{64}, ) v.Check(user.Lastname, revel.Required{}, revel.MinSize{1}, revel.MaxSize{64}, ) v.Check(user.Email, revel.Required{}, ) v.Email(user.Email) }
func (user *User) Validate(v *revel.Validation) { /* v.Check(user.Username, revel.Required{}, revel.Range{revel.Min{4},revel.Max{15}}, revel.Match{userRegex}, ) v.Check(user.Email, revel.Required{}, revel.MaxSize{50}, revel.MinSize{4}, //revel.Match{revel.emailPattern}, ).Message("Email") ValidatePassword(v, user.Password). Key("user.Password") v.Check(user.Name, revel.Required{}, revel.MaxSize{100}, ) */ v.Required(user.Username) v.MinSize(user.Username, 6).Message("Username must be at least 6 characters") v.Required(user.Name) v.MinSize(user.Name, 2).Message("Name must be at least 2 characters") v.Required(user.Email) v.Email(user.Email) v.MinSize(user.Email, 5) /* v.Required(user.Password) v.MinSize(user.Password, 8).Message("Password must be at least 8 characters") */ }
//校验 func (user *User) Validation(q *qbs.Qbs, v *revel.Validation) { v.Required(user.UserName).Message("请输入用户名") v.Required(user.Email).Message("请输入邮箱") v.Required(user.Password).Message("请输入密码") valid := v.Email(user.Email).Message("邮箱格式错误") if valid.Ok { if user.HasEmail(q) { err := &revel.ValidationError{ Message: "该邮件已经注册过", Key: "user.Email", } valid.Error = err valid.Ok = false v.Errors = append(v.Errors, err) } } v.Required(user.Password == user.AffirmPassword).Message("两次密码输入不一致") }
func (user *User) ValidateLogin(v *revel.Validation) { v.Required(user.Email) v.Required(user.Password) v.Email(user.Email) }