• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

yii2用户数据验证的问题

php 搞代码 4年前 (2022-01-25) 15次浏览 已收录 0个评论
文章目录[隐藏]

在一个model的rules方法中写规则,

<code>public function rules()    {        return [            [['title','description','keywords'],'strip_tags']        ];    }</code>

这个按理说应该是想trim函数一样,对内容进行过滤,实际上却报错
ReflectionException
Class strip_tags does not exist
为何将trim当成函数,却将strip_tags当成一个类,这是怎么回事?

回复内容:

在一个model的rules方法中写规则,

<code>public function rules()    {        return [            [['title','description','keywords'],'strip_tags']        ];    }</code>

这个按理说应该是想trim函数一样,对内容进行过滤,实际上却报错
ReflectionException
Class strip_tags does not exist
为何将trim当成函数,却将strip_tags当成一个类,这是怎么回事?

并没有把trim当做函数。

<code>    public static $builtInValidators = [        'boolean' => 'yii\validators\BooleanValidator',        'captcha' => 'yii\captcha\CaptchaValidator',        'compare' => 'yii\validators\CompareValidator',        'date' => 'yii\validators\DateValidator',        'default' => 'yii\validators\DefaultValueValidator',        'double' => 'yii\validators\NumberValidator',        'each' => 'yii\validators\EachValidator',        'email' => 'yii\validators\EmailValidator',        'exist' => 'yii\validators\ExistValidator',        'file' => 'yii\validators\FileValidator',        'filter' => 'yii\validators\FilterValidator',        'image' => 'yii\validators\ImageValidator',        'in' => 'yii\validators\RangeValidator',        'integer' => [            'class' => 'yii\validators\NumberValidator',            'integerOnly' => true,        ],        'match' => 'yii\validators\RegularExpressionValidator',        'number' => 'yii\validators\NumberValidator',        'required' => 'yii\validators\RequiredValidator',        'safe' => 'yii\validators\SafeValidator',        'string' => 'yii\validators\StringValidator',        'trim' => [            'class' => 'yii\validators\FilterValidator',            'filter' => 'trim',            'skipOnArray' => true,        ],        'unique' => 'yii\validators\UniqueValidator',        'url' => 'yii\validators\UrlValidator',        'ip' => 'yii\validators\IpValidator',    ];</code>

父类 yii/base/Model::createValidators,楼主可

本文来源gaodai.ma#com搞##代!^码@网*
搞gaodaima代码

以具体看下这个方法,生成验证器方法。
遍历rules,判断$rule[1],也就相当于’trim’,’strip_tags’这些字段
1、是否是匿名函数($rule instanceof \Closure)或者是否是子类的方法
2、判断是否是已经存在的验证器

<code>public static $builtInValidators = [        'boolean' => 'yii\validators\BooleanValidator',        'captcha' => 'yii\captcha\CaptchaValidator',        'compare' => 'yii\validators\CompareValidator',        'date' => 'yii\validators\DateValidator',        'default' => 'yii\validators\DefaultValueValidator',        'double' => 'yii\validators\NumberValidator',        'each' => 'yii\validators\EachValidator',        'email' => 'yii\validators\EmailValidator',        'exist' => 'yii\validators\ExistValidator',        'file' => 'yii\validators\FileValidator',        'filter' => 'yii\validators\FilterValidator',        'image' => 'yii\validators\ImageValidator',        'in' => 'yii\validators\RangeValidator',        'integer' => [            'class' => 'yii\validators\NumberValidator',            'integerOnly' => true,        ],        'match' => 'yii\validators\RegularExpressionValidator',        'number' => 'yii\validators\NumberValidator',        'required' => 'yii\validators\RequiredValidator',        'safe' => 'yii\validators\SafeValidator',        'string' => 'yii\validators\StringValidator',        'trim' => [            'class' => 'yii\validators\FilterValidator',            'filter' => 'trim',            'skipOnArray' => true,        ],        'unique' => 'yii\validators\UniqueValidator',        'url' => 'yii\validators\UrlValidator',    ];</code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:yii2用户数据验证的问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址