如何在 CakePHP 3.x 中验证 URL?

How to validate URLs in CakePHP 3.x?

如何验证在表单字段中输入的有效 URL 在将其保存到数据库之前 table 例如 "links" table ?

提前致谢。

src/Model/Table/[YourClasses]Table.php

public function validationDefault(Validator $validator) {
    // In with the other validators
    $validator->add('url', 'valid', ['rule' => 'url']);

    return $validator;
}

此处提供了验证器默认选项:

http://api.cakephp.org/3.0/class-Cake.Validation.Validation.html#_url

类似这样的东西:还没有测试过所以可能需要一些调整..

  function check_url($url)
  { 
 $url = preg_match_all('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $url);
       return $url;
   }