mirror of
https://gitee.com/rainbond/Rainbond.git
synced 2024-11-30 18:58:02 +08:00
.. | ||
api.go | ||
README.md |
用法实例
type User struct {
Username string `validate:"username|required|between:3,8"`
Email string `validate:"email|email"`
Web string `validate:"web|url"`
Age int `validate:"age|numeric_between:18,55"`
}
func handler(w http.ResponseWriter, r *http.Request) {
var user User
messages := validator.MapData{
"username": []string{"required:You must provide username", "between:username must be between 3 to 8 chars"},
"web": []string{"url:You must provide a valid url"},
}
if !httputil.ValidatorRequestStructAndErrorResponse(r, w, &user, messages) {
return
}
httputil.ReturnSuccess(r, w, user)
}
func handlerMap(w http.ResponseWriter, r *http.Request) {
rule := validator.MapData{
"username": []string{"required", "between:3,5"},
"web": []string{"url"},
}
messages := validator.MapData{
"username": []string{"required:You must provide username", "between:username must be between 3 to 8 chars"},
"web": []string{"url:You must provide a valid url"},
}
data, ok := httputil.ValidatorRequestMapAndErrorResponse(r, w, rule, messages)
if !ok {
return
}
httputil.ReturnSuccess(r, w, data)
}
Validation Rules
alpha
The field under validation must be entirely alphabetic characters.alpha_dash
The field under validation may have alpha-numeric characters, as well as dashes and underscores.alpha_num
The field under validation must be entirely alpha-numeric characters.numeric
The field under validation must be entirely numeric characters.numeric_between:int,int
The field under validation must be a numeric value between the range. e.g:numeric_between:18,65
may contains numeric value like35
,55
bool
The field under validation must be able to be cast as a boolean. Accepted input aretrue, false, 1, 0, "1" and "0"
.credit_card
The field under validation must have a valid credit card number. Accepted cards areVisa, MasterCard, American Express, Diners Club, Discover and JCB card
coordinate
The field under validation must have a value of valid coordinate.css_color
The field under validation must have a value of valid CSS color. Accepted colors arehex, rgb, rgba, hsl, hsla
like#909, #00aaff, rgb(255,122,122)
date
The field under validation must have a valid date of format yyyy-mm-dd or yyyy/mm/dd.date:dd-mm-yyyy
The field under validation must have a valid date of format dd-mm-yyyy.digits:int
The field under validation must be numeric and must have an exact length of value.digits_between:int,int
The field under validation must be numeric and must have length between the range. e.g:digits_between:3,5
may contains digits like2323
,12435
email
The field under validation must have a valid email.float
The field under validation must have a valid float number.in:foo,bar
The field under validation must have one of the values. e.g:in:admin,manager,user
must contain the values (admin or manager or user)min:int
The field under validation must have a min length of characters. e.g:min:3
may contains characters minimum length of 3 like"john", "jane", "jane321"
but not"mr", "xy"
max:int
The field under validation must have a max length of characters. e.g:max:6
may contains characters maximum length of 6 like"john doe", "jane doe"
but not"john", "jane"
not_in:foo,bar
The field under validation must have one value except foo,bar. e.g:not_in:admin,manager,user
must not contain the values (admin or manager or user)len:int
The field under validation must have an exact length of characters. e.g:len:4
may contains characters exact length of 4 likeFood, Mood, Good
ip
The field under validation must be a valid IP address.ip_v4
The field under validation must be a valid IP V4 address.ip_v6
The field under validation must be a valid IP V6 address.json
The field under validation must be a valid JSON string.lat
The field under validation must be a valid latitude.lon
The field under validation must be a valid longitude.regex:regurlar expression
The field under validation validate against the regex. e.g:regex:^[a-zA-Z]+$
validate the letters.required
The field under validation must be present in the input data and not empty. A field is considered "empty" if one of the following conditions are true: 1) The value is null. 2)The value is an empty string.url
The field under validation must be a valid URL.uuid
The field under validation must be a valid UUID.uuid_v3
The field under validation must be a valid UUID V3.uuid_v4
The field under validation must be a valid UUID V4.uuid_v5
The field under validation must be a valid UUID V5.