如何在CakePHP 3.x中验证URL


How to validate URLs in CakePHP 3.x?

如何验证在表单字段中输入的有效URL在将其保存到数据库表之前,比如说"链接"表?

提前谢谢。

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

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

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;
   }