【发布时间】:2016-12-06 21:59:55
【问题描述】:
我正在尝试在 laravel 中验证一个 URL,同时我想确保它在数据库中的唯一性,所以我使用这个:
'url' => 'required|unique:table,url|url',
这很好,因为它确保了 url: 1)。必需的 2)。网址是唯一的 3)。这里是问题::: 格式是http://www.example.com 或http://example.com 或https://www.example.com 或http://www.example.com/test 等等。所有将通过验证...
如果有人输入,我该怎么做:这些示例中的任何一个(http://www.example.com 或 http://example.com 或 https://www.example.com)都会出错,因为“example.com”是相同的?即使是子域 dev.example.com 我也想让他出错,因为 example.com 在那里?
我可以修改我的过滤器吗?如何修改?
谢谢
【问题讨论】:
-
没有直接的方法来实现这一点,您应该首先从输入中获取主域(即 example.com)。您可以为此使用explode()。然后在验证器数组中使用它。