我需要验证字段以确认它不包含URL。是否可以在模型中设置规则,如[['field'],'!url']?或任何其他方法
由于
答案 0 :(得分:1)
您可以使用此http://www.yiiframework.com/doc-2.0/guide-tutorial-core-validators.html#match
的匹配规则您可以创建一个正则表达式来定义所有允许的字符,例如:
['field', 'match', 'pattern' => '/^[a-zA-Z0-9_-]+$/']
答案 1 :(得分:0)
这应该可以解决问题
['field', 'match', 'pattern' => '/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/i', 'not'=>true]
正则表达式会匹配像
这样的网址