Yii2 url 没有 http,https 的验证

Yii2 url validation without http,https

我在我的模型中使用了 url 验证码,但它给我错误。 我只是验证用户是否只输入 google.com 或 yahoo.com 而不是 http,www 是必需的。 我该怎么做。

 [['thankyou_page_url','confirmation_page_url'],'url'],

我现在无法测试它。但我认为您需要添加 defaultScheme 选项。 defaultScheme的默认值是null,这意味着URL中必须有一个有效的方案。

如果你把它改成

[['thankyou_page_url','confirmation_page_url'],'url', 'defaultScheme' => 'http'],

如果您未在输入中提供任何内容,将自动添加 http:// 部分。我认为如果将 defaultScheme 设置为空字符串,它也将允许 URL 没有方案。所以也许这行得通:

[['thankyou_page_url','confirmation_page_url'],'url', 'defaultScheme' => ''],

非常简单,只需从模式中删除 shemes 部分

['url', 'url', 'pattern'=>'/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])/i'],