Grails URL 验证

Posted

技术标签:

【中文标题】Grails URL 验证【英文标题】:Grails URL validation 【发布时间】:2011-12-21 04:48:11 【问题描述】:

为什么 Grails 认为没有 http:// 的 URL(如 www.google.com)是无效的? 只有http://google.com 和http://www.google.com 可以。 有什么办法可以解决吗?

【问题讨论】:

【参考方案1】:

如果您阅读RFC 1738 (Uniform Resource Locators),很明显 URL 方案(在您的情况下为 http://)是 URL 的完整部分。该方案定义了 URL 其余部分的含义,因此不能省略。例如http://www.google.com 与https://www.google.com 绝对不是同一个资源,保存链接时应该注意这一点。

所以像www.google.com 这样的URL 无效,Grails 拒绝它们时是正确的。

如果您知道您需要一个 http URL,那么解决这个问题应该很容易:

new Object(url: 'http://' + url).save()

应该可以解决问题。

【讨论】:

谢谢。我只对 Command 对象使用验证,而不是对 Domain 类。

以上是关于Grails URL 验证的主要内容,如果未能解决你的问题,请参考以下文章

Grails Spring Security 验证多个 url 的访问

如何在 grails 控制器中使用路径变量?

是否可以在 Grails 之外使用 Grails 验证?如何?

如何在 Grails/Spring Security 插件中禁用 /login/auth

grails,mongodb - 多个数据库

grails-spring-security-rest 插件和悲观锁定