diff options
Diffstat (limited to 'modules/auth/auth.go')
-rw-r--r-- | modules/auth/auth.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/auth/auth.go b/modules/auth/auth.go index 1dd96d8d40..ad7ce5b9ad 100644 --- a/modules/auth/auth.go +++ b/modules/auth/auth.go @@ -9,6 +9,7 @@ import ( "reflect" "strings" + "github.com/Unknwon/com" "github.com/Unknwon/macaron" "github.com/macaron-contrib/binding" "github.com/macaron-contrib/session" @@ -135,6 +136,10 @@ type Form interface { binding.Validator } +func init() { + binding.SetNameMapper(com.ToSnakeCase) +} + // AssignForm assign form values back to the template data. func AssignForm(form interface{}, data map[string]interface{}) { typ := reflect.TypeOf(form) @@ -152,6 +157,8 @@ func AssignForm(form interface{}, data map[string]interface{}) { // Allow ignored fields in the struct if fieldName == "-" { continue + } else if len(fieldName) == 0 { + fieldName = com.ToSnakeCase(field.Name) } data[fieldName] = val.Field(i).Interface() |