add float support

This commit is contained in:
Niko Storni 2018-09-05 08:27:07 -04:00
parent db8377804e
commit 7294fd0181
No known key found for this signature in database
GPG key ID: F37FE63398800368

View file

@ -236,6 +236,21 @@ func FormValues(r *http.Request, params interface{}, validationRules []*v.FieldR
underscoredName, strings.Join(validator.GetBoolStringValues(), ", "))
}
finalValue = reflect.ValueOf(validator.IsTruthy(value))
case reflect.Float32, reflect.Float64:
if value == "" {
continue
}
castVal, err := cast.ToFloat64E(value)
if err != nil {
return errors.Err("%s: must be a floating point number", underscoredName)
}
switch structFieldKind {
case reflect.Float32:
finalValue = reflect.ValueOf(float32(castVal))
case reflect.Float64:
finalValue = reflect.ValueOf(float64(castVal))
}
default:
return errors.Err("field %s is an unsupported type", name)
}