CakePHP 3.验证上传的文件扩展名

时间:2015-10-30 09:45:46

标签: cakephp cakephp-3.0

我正在使用CakePHP 3.我有上传字段,并且只允许上传.pdf和.doc(x)文件。如何将该属性添加到以下验证器?

$validator
   ->notEmpty('article');

2 个答案:

答案 0 :(得分:5)

只需在验证中添加扩展规则,该规则在http://api.cakephp.org/3.0/class-Cake.Validation.Validation.html

中定义

扩展名(字符串|数组$ check,数组$扩展程序[' gif',' jpeg',' png',' jpg' ])

示例:

$validator
            ->allowEmpty('profile_image')
            ->add('profile_image', [
                'validExtension' => [
                    'rule' => ['extension',['png']], // default  ['gif', 'jpeg', 'png', 'jpg']
                    'message' => __('These files extension are allowed: .png')
                ]
    ]);

答案 1 :(得分:0)

使用allowEmpty('profile_image')可能会给你一些问题,因为它是'file'类型的字段。

也许您最好使用可选的true参数查看uploadedFile规则。