facebook中的CakePHP表单在初始加载时进行验证
我有一个简单的CakePHP表单(版本2.4)。如果我在浏览器中打开url,一切正常,表单仅在我第一次单击“提交”后验证。但是,如果我把同一个表单放在Facebook应用程序中(作为页面选项卡),那么同一个表单会立即验证,并在用户甚至单击提交之前输出所有错误(当然,因为在初始加载时,所有必需的字段都是空的) 窗体的我的控件添加:facebook中的CakePHP表单在初始加载时进行验证,facebook,forms,cakephp,cakephp-2.4,Facebook,Forms,Cakephp,Cakephp 2.4,我有一个简单的CakePHP表单(版本2.4)。如果我在浏览器中打开url,一切正常,表单仅在我第一次单击“提交”后验证。但是,如果我把同一个表单放在Facebook应用程序中(作为页面选项卡),那么同一个表单会立即验证,并在用户甚至单击提交之前输出所有错误(当然,因为在初始加载时,所有必需的字段都是空的) 窗体的我的控件添加: public function add($id = null) { $this->set('title_for_layout', "Fb Form");
public function add($id = null) {
$this->set('title_for_layout', "Fb Form");
if (!empty($this->data)) {
$this->Application->create($this->data);
if ($this->Application->save()) {
$this->Application->saveField('fbapp_id', $id);
$this->Session->setFlash('Form saved');
$this->redirect(array('action' => 'add'));
} else {
$this->Session->setFlash('Form not saved');
}
}
}
任何帮助都将非常感谢,所以请提前通知我们 您应该提供CakePHP版本…抱歉,编辑了文章并添加了一个标记。我用蛋糕2.4thnx来引起注意!您的验证很可能只是由POST的请求方法触发的……如您所知,应用程序通过向iframe发布表单加载到Facebook iframe……尝试检查empty和isset:
if(!empty($this->data)&&isset($this->data['Application'))
什么是最好的解决方法,使用户在实际提交之前不会总是看到所有错误?