0
'model' => array(
        'rule' => array('isValidExtension', array('xls')),
        'message' => 'File does not have a stl extension'
        ),

绝对允许上传任何文件。我有这是我的第一个验证规则。其他验证规则,如 notEmpty 和 isUnique 可以在同一个表单元素上正常工作。

尝试将 stl 添加到主要行为中找到的数组:'extensions' => array('xls') - 也不起作用。

知道我在这里做错了什么吗?

另外:无论我选择什么文件扩展名,这似乎都会发生。无论如何,它不会调用文件无效。同样的问题似乎也发生在 Mime 类型上。

插件 URL 是:https ://github.com/josgonzalez/upload 编辑:在进一步调查 UploadBehavior.php 和一些调试后,似乎没有加载任何自定义验证规则。我想知道为什么会这样?

4

2 回答 2

0

您是否尝试在上传过程中浏览插件代码?验证函数位于

Model/Behavior/UploadBehavior.php line 746

我建议您放置几个 pr() 和 die() 语句来查看 $check 和 $extensions 变量的值是什么。

之后别忘了删除那些!

于 2013-09-13T16:30:44.720 回答
0

诊断出问题并修复:

我的模型验证语法不好。

我连续有几个相同的,例如:

'model'=> array(
       'rule' => 'rule',
       'message' => 'message'
 ),
 'model'=> array(
       'rule' => 'rule',
       'message' => 'message'
 ),
 'model'=> array(
       'rule' => 'rule',
       'message' => 'message'
 )

似乎这是问题的原因。替代

'model' => array(
   'rulename' => array(
                'rule' => array('rule'),
                'message' => 'message'
                ),

    'rulename' => array(
                'rule' => array('rule'),
                'message' => 'message'
                ),

    'rulename' => array(
                'rule' => array('rule'),
                'message' => 'message'
                )
    )
于 2013-09-13T20:04:21.990 回答