Revel 重定义错误提示信息
2013-02-27 00:00
260 查看
Revel中可以用Validate来检查参数是否正确 用户请求是否给出了某个参数 revel的示例代码如下:
看上面代码中的c.Validation.Required(username) 如果username参数确实 那么c.Validation.HasError条件就为真 在HTML模板提示里会有写Required xxx
看起来一起都很完美啊 但是 要命的是当我想提示中文 并且覆盖掉Requried这个默认的提示消息前缀时 噩梦开始了 试了很多办法 都不能去掉这个Required前缀 最后没办法了 只能看Revel的源码 然后在github上找到了一些提示 可以自己定义 看这里
需要自己去实现一个validator的接口:
定义好接口:
func (c MyApp) SaveUser(username string) revel.Result { // Username (required) must be between 4 and 15 letters (inclusive). c.Validation.Required(username) c.Validation.MaxSize(username, 15) c.Validation.MinSize(username, 4) c.Validation.Match(username, regexp.MustCompile("^\\w*$")) if c.Validation.HasErrors() { // Store the validation errors in the flash context and redirect. c.Validation.Keep() c.FlashParams() return c.Redirect(Hotels.Settings) } // All the data checked out! ... }
看上面代码中的c.Validation.Required(username) 如果username参数确实 那么c.Validation.HasError条件就为真 在HTML模板提示里会有写Required xxx
看起来一起都很完美啊 但是 要命的是当我想提示中文 并且覆盖掉Requried这个默认的提示消息前缀时 噩梦开始了 试了很多办法 都不能去掉这个Required前缀 最后没办法了 只能看Revel的源码 然后在github上找到了一些提示 可以自己定义 看这里
需要自己去实现一个validator的接口:
type Validator interface { IsSatisfied(interface{}) bool DefaultMessage() string }
定义好接口:
func (t TokenValidator) DefaultMessage() string { return string(t) }
func (s TokenValidator) IsSatisfied(token interface{}) bool { if token == nil { return false } tk := token.(Oauth) if tk.authToken == "" || tk.refreshToken == "" { return false } return true }
可以使用啦:
# type TokenValidator string c.Validation.Check(token, TokenValidator(err.Error()))
相关文章推荐
- XP安装SQL Server,错误提示“安装程序无法获取ASPNET账户的系统账户信息 ”
- kippo伪装端下载文件提示错误信息
- yii中设置提示成功信息,错误提示信息,警告信息
- Flex中通过设置borderColor样式和.errorTip CSS分离器改变错误信息提示背景颜色(background color)的例子
- PHP 安全手册 第二条 关闭错误信息提示
- win7(32 bit) + IE8 环境,IE8无法弹窗(错误提示:“此网页上的错误可能会使它无法正确运行”),有关的系统注册信息损坏——解决方法
- GHOST还原提示保存错误信息无法还原该怎么办?
- 启用win7下IIS7的http500错误详细信息提示显示的方法步骤
- SSH框架Struts文件上传自定义错误提示信息解决方案
- bootstrap错误警告信息提示
- 安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息
- C#开发之生成XmlDocument用来返回错误提示信息
- 一个处理数据库异常的类,按照错误码弹出提示信息
- 安装oracle时提示错误信息
- PHP提示错误信息,修改配置
- IntelijIDEA 实时错误提示信息如何选中复制
- 启用win7下IIS7的http500错误详细信息提示显示的方法步骤
- 怎样在出现错误的时候输出提示信息Err,然后清空对象
- jquery.validate提示错误信息位置方法
- 搜狐网站打不开了!!提示502 Bad Gateway Fss错误信息。