如何验证上传文件的数组?

用户名

在Yii中验证单个文件(单个输入文件字段)是没有问题的,并且效果很好:

public function rules() {
    return CMap::mergeArray(parent::rules(), array(
        array(
            'image', 
            'file', 
            'allowEmpty'=>false, 
            'types'=>'pdf,jpg,gif,png', 
            'on' => 'CaseA, CaseB', 
            'maxSize'=>1024000, 
            'tooLarge' => 'Max File size is 1MB', 
            'message' => 'You have to upload a file at least'
        ),
        ....
        ....

如果图像是文件数组怎么办?Yii创建的表单元素如下所示(Firebug输出):

<input type="file" id="MyFormModel[image][0]" name="MyFormModel[image][0]">
<input type="file" id="MyFormModel[image][1]" name="MyFormModel[image][1]">

我应该在规则中修改哪些内容?简单的“ image []”无济于事。

编辑:解决方案

public function rules() {
    return CMap::mergeArray(parent::rules(), array(
        array(
            'image', 
            'file', 
            'allowEmpty'=>false, 
            'types'=>'pdf,jpg,gif,png', 
            'on' => 'CaseA, CaseB', 
            'maxSize'=>1024000, 
            'maxFiles' => 5, // <----- THAT'S IT
            'tooLarge' => 'Max File size is 1MB', 
            'message' => 'You have to upload a file at least'
        ),
        ....
        ....
乔恩

maxFiles适当设置属性,验证器将对所有输入起作用。您无需更改输入控件名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章