【问题标题】:CakePHP when using uploadedit validation, save failsCakePHP 使用 uploadit 验证时,保存失败
【发布时间】:2012-06-21 21:49:00
【问题描述】:

好的,所以当用户在我的网站上注册时,我正在上传文档,我会收集一些个人信息并将其保存。现在我遇到了一些问题,我将主注册表单分成了几个视图,用户一旦登录就可以在其中编辑某些信息,例如一个名为personal_introduction的字段。出于某种原因,即使现场没有验证错误,这也不会保存。在模型中搞砸了,试图找出问题并发现这是导致问题的原因:

    'document_file' => array(
        'checkuploadedit' =>array(
            'rule' => array('checkUpload', false),
            'message' => 'Please select your document.',            
        ),
        'checkuploadedit' => array(
            'rule' => array('extension', array('doc', 'docx', 'txt', 'rtf')),
            'message' => 'File extentions allowed: .doc .docx .txt .rtf - we do NOT accept pdf format.'
        )
    ),

一旦我从我的模型中删除它,它就会保存数据。现在对我来说奇怪的是,主注册表没有问题,而且这个视图甚至不包含名为“document_file”的表单输入,但保存失败。

任何想法...拜托!!!显然我需要验证上传。

我试过这个:validation on a input file in cakephp,想着上面的代码可能不正确,还是没有运气。

提前感谢您的回答。

路易斯干杯。

【问题讨论】:

  • 你保存的时候checkUpload正在执行吗?
  • 请解释一下你的意思,以及如何检查它。
  • 好吧 checkUpload 是您创建的自定义验证规则。 Chuck a die('here') 或其他东西,看看它是否被执行。然后我们必须查看 $this->request->data 的内容和函数本身。

标签: validation cakephp upload


【解决方案1】:

我继续进一步调查问题,发现以下问题,我仍然无法解释。在同一模型上提交不包含上传表单的视图时,它仍会尝试验证上传表单,我实际上可以看到一个好像已提交的值,即使它不是。所以我得到的唯一解决方案是对没有文档上传表单字段的操作使用 unset($this->data['user']['document']) 。希望这是有道理的。

【讨论】:

    猜你喜欢
    • 2013-12-03
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多