Documentation
¶
Index ¶
- func ValidateStruct(v *Validator, s interface{})
- type ValidationError
- type Validator
- func (v *Validator) AddError(field, message string)
- func (v *Validator) Alpha(value string, field string)
- func (v *Validator) Alphanumeric(value string, field string)
- func (v *Validator) Between(value string, min, max int, field string)
- func (v *Validator) Check(ok bool, field, message string)
- func (v *Validator) ChineseIDCard(value string, field string)
- func (v *Validator) Custom(ok bool, field, message string)
- func (v *Validator) Email(value string, field string)
- func (v *Validator) InList(value string, list []string, field string)
- func (v *Validator) Integer(value string, field string)
- func (v *Validator) MaxLength(value string, max int, field string)
- func (v *Validator) MinLength(value string, min int, field string)
- func (v *Validator) NotInList(value string, list []string, field string)
- func (v *Validator) Numeric(value string, field string)
- func (v *Validator) PhoneNumber(value string, field string)
- func (v *Validator) Range(value int, min, max int, field string)
- func (v *Validator) RangeFloat(value float64, min, max float64, field string)
- func (v *Validator) Required(value string, field string)
- func (v *Validator) URL(value string, field string)
- func (v *Validator) Valid() bool
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateStruct ¶
func ValidateStruct(v *Validator, s interface{})
ValidateStruct 验证结构体,根据字段标签进行验证
Types ¶
type ValidationError ¶
ValidationError 表示验证错误
func (ValidationError) Error ¶
func (e ValidationError) Error() string
type Validator ¶
type Validator struct {
Errors []ValidationError
}
Validator 提供数据验证功能
Example (Http) ¶
示例:如何在HTTP处理程序中使用
// 这是一个示例HTTP处理程序
/*
func RegisterHandler(w http.ResponseWriter, r *http.Request) {
var user User
// 解析请求JSON数据到结构体
if err := json.NewDecoder(r.Body).Decode(&user); err != nil {
http.Error(w, "无效的请求数据", http.StatusBadRequest)
return
}
// 验证用户数据
v := validation.NewValidator()
validation.ValidateStruct(v, &user)
if !v.Valid() {
// 返回验证错误
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusBadRequest)
// 构建错误响应
errorResponse := make(map[string]string)
for _, err := range v.Errors {
errorResponse[err.Field] = err.Message
}
json.NewEncoder(w).Encode(map[string]any{
"errors": errorResponse,
})
return
}
// 继续处理有效请求...
}
*/
func (*Validator) Alphanumeric ¶
Alphanumeric 验证字符串仅包含字母和数字
func (*Validator) ChineseIDCard ¶
ChineseIDCard 验证中国大陆身份证号
func (*Validator) PhoneNumber ¶
PhoneNumber 验证手机号格式(中国大陆)
func (*Validator) RangeFloat ¶
RangeFloat 验证浮点数是否在指定范围内
Click to show internal directories.
Click to hide internal directories.