playframework,是不是有 Validation.clearAfterRenderGet
Posted
技术标签:
【中文标题】playframework,是不是有 Validation.clearAfterRenderGet【英文标题】:playframework, is there a Validation.clearAfterRenderGetplayframework,是否有 Validation.clearAfterRenderGet 【发布时间】:2012-02-12 17:52:44 【问题描述】:我似乎在 playframework 中遇到了一个奇怪的异常情况
http://groups.google.com/group/play-framework/browse_thread/thread/ac1f48fa4c417b79
我有一个表单和一个带有 url http://alvazan.com 的字段,当我发布它时,椭圆验证是 FINE 并返回零错误,然后我执行 Validation.keep 以确保错误是 ketp 直到 GET要求。 GET 请求无法清除错误,或者它们不会出现在渲染调用中。我希望它们在渲染调用之后被清除。
-
我无法在 POST 中调用 clear,因为在我的方法之前已完成一些验证,因为我在那里使用了注释。
这是如何工作的,因为在我的实现中有些东西不太正确,是否有一个 clearAfterRenderingGetRequest 这将是任何已发布表单的获取中的完美方法(事实上,我认为 flash 会自动清除但验证错误不是闪存的一部分?)
谢谢, 院长
【问题讨论】:
【参考方案1】:事实证明,对方法的调用总是会自动进行重定向,而我的帖子正在调用渲染方法(从示例中复制),我不知道它不会进行重定向,因此它会将错误保留在闪存中以供下一次 GET这不会发生,因为正文被发回以响应帖子(这通常是一件坏事),然后在下一个 GET 中,我的错误是重新,而 Validation.hasErrors 从导致问题的闪存中获取这些错误。
因此,如果您在帖子中使用渲染,则不会根据我的理解调用 Validation.keep 或 params.flash 或调用您拥有的另一个 get 方法。
由于某种原因,当我尝试将渲染更改为重定向时,我的东西只是抛出了一些平台异常,这看起来很奇怪,所以由于某种原因我不能使用重定向方法,因为我希望在 http POST 返回的地方保持更多的 REST 兼容303 重定向到 GET 下一页,即使该页面本身有错误。
【讨论】:
以上是关于playframework,是不是有 Validation.clearAfterRenderGet的主要内容,如果未能解决你的问题,请参考以下文章
playframework 1.x 是不是处理跨站点脚本 (xss)?
在 playframework 中提供具有身份验证的静态文件