1

关于参数验证的一些疑问

控制器dongyu1092 次浏览

文档中是这么描述 参数验证流程的

  1. username字段验证条件 (Required必填, MinSize最小长度, MaxSize最大长度, Match匹配一个正则表达式).
  2. 每个验证条件返回一个 ValidationResult,如果验证没有通过,验证结果会被保存到验证上下文中。
  3. 作为构建应用程序的一部分,Revel记录被验证的变量的名称,并使用它作为在验证上下文的默认key(之后可以通过key获取验证错误消息)。
  4. Validation.HasErrors() 如果验证没有通过,返回 true
  5. Validation.Keep() 告诉 Revel 序列化 验证错误消息到 Flash cookie中.

 

疑问:

  1. 调用 Validation.Keep(),把错误消息序列化,存到flash cookie中,具体这部分的操作是在什么时候执行的。
  2. 放到cookie后,那什么时候把错误消息从cookie中清掉呢

 

共1个回复
kevin 回复
revel.SessionFilter
revel.FlashFilter

revel所有的功能都是通过过滤器来实现的,可以参考这两个过滤器,