Validate 和Error 对指针的处理方式不统一, 前者接受指针类型而后者不接受 // 这样的方法不被识别 func (form *VariantForm) Error(ctx *macaron.Context, errs binding.Errors) {} // macaron 识别这样的方法 func (form *VariantForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {}
Activity
unknwon commentedon Oct 26, 2015
不是很懂你这个方法是怎么来的。。
cgyy commentedon Oct 26, 2015
你好,是这样的
比如我要自定义form的验证方法,可以这样写:
也可以这样写
而自定义错误处理,只能写成这样:
写成下面这样不起作用
unknwon commentedon Oct 26, 2015
能否发一下你绑定某个 form(不起作用的) 是怎么写的?
cgyy commentedon Oct 26, 2015
自定义错误处理写成下面可以运行:
unknwon commentedon Oct 26, 2015
额。。其实我想说的是,注册路由部分的代码。。
cgyy commentedon Oct 27, 2015
好的,代码是这样的:
unknwon commentedon Oct 28, 2015
额。。看起来没问题。。我看了代码,判断 Validate 和 Error 的用法是一样的。。暂时不知道为什么。。0 0
cgyy commentedon Oct 28, 2015
似乎是Bind 方法里面没有判断指针类型的原因
binding.go 104行
第210行
unknwon commentedon Oct 29, 2015
噢。。那这个目前我还没想到什么好的办法,因为 Bind 是禁止你传指针的,否则会出现大量数据竞争破坏内存出现奇怪的错误