forked from goffee/core
Compare commits
No commits in common. "a82b6812e3a0c69f79e2d9a98d19f3d9868dd1d8" and "465e88bf4088cb0633c18e53b40863bd4de15b95" have entirely different histories.
a82b6812e3
...
465e88bf40
2 changed files with 8 additions and 34 deletions
30
context.go
30
context.go
|
@ -68,36 +68,6 @@ func (c *Context) RequestParamExists(key string) bool {
|
||||||
return c.Request.httpRequest.Form.Has(key)
|
return c.Request.httpRequest.Form.Has(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Context) GetRequesForm() interface{} {
|
|
||||||
return c.Request.httpRequest.Form
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Context) GetRequesBodyMap() map[string]interface{} {
|
|
||||||
var dat map[string]any
|
|
||||||
body := c.Request.httpRequest.Body
|
|
||||||
if body != nil {
|
|
||||||
if content, err := io.ReadAll(body); err == nil {
|
|
||||||
json.Unmarshal(content, &dat)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return dat
|
|
||||||
}
|
|
||||||
|
|
||||||
// get json body and bind to dest interface
|
|
||||||
func (c *Context) GetRequesBodyStruct(dest interface{}) error {
|
|
||||||
body := c.Request.httpRequest.Body
|
|
||||||
if body != nil {
|
|
||||||
value := reflect.ValueOf(dest)
|
|
||||||
if value.Kind() != reflect.Ptr {
|
|
||||||
fmt.Println("dest is not a pointer")
|
|
||||||
return errors.New("dest is not a pointer")
|
|
||||||
}
|
|
||||||
err := json.NewDecoder(body).Decode(dest)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Context) GetHeader(key string) string {
|
func (c *Context) GetHeader(key string) string {
|
||||||
return c.Request.httpRequest.Header.Get(key)
|
return c.Request.httpRequest.Header.Get(key)
|
||||||
}
|
}
|
||||||
|
|
12
validator.go
12
validator.go
|
@ -33,14 +33,18 @@ func (v *Validator) Validate(data map[string]interface{}, rules map[string]inter
|
||||||
vr = validationResult{}
|
vr = validationResult{}
|
||||||
vr.hasFailed = false
|
vr.hasFailed = false
|
||||||
res := map[string]string{}
|
res := map[string]string{}
|
||||||
for rule_key, rule_val := range rules {
|
for key, val := range data {
|
||||||
rls, err := parseRules(rule_val)
|
_, ok := rules[key]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
rls, err := parseRules(rules[key])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
err = validation.Validate(data[rule_key], rls...)
|
err = validation.Validate(val, rls...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
res[rule_key] = fmt.Sprintf("%v: %v", rule_key, err.Error())
|
res[key] = fmt.Sprintf("%v: %v", key, err.Error())
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue