【问题标题】:Yii2 url validation without http,httpsYii2 url验证没有http,https
【发布时间】:2015-02-16 04:58:53
【问题描述】:

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

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

【问题讨论】:

    标签: yii2 yii2-advanced-app


    【解决方案1】:

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

    如果你改成

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

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

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

    【讨论】:

    • 我将默认方案设置为 https,它可以工作,除非输入中已经包含 http://。如果用http完成,是否可以覆盖?
    【解决方案2】:

    这很简单,只需从图案中删除 shemes 部分

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多