当我需要一个干净的解决方案,以从被填充后,设置数据提交页面:Silverstripe防止负载数据提交表单
$form->loadDataFrom($Page);
有我的代码:
public function FormUpdate() {
$error="Required";
$fields = new FieldList(
TextField::create('Title', 'Title')->setCustomValidationMessage($error),
TextField::create('Description', 'Description')->setCustomValidationMessage($error),
TextField::create('Subject', 'Description')->setCustomValidationMessage($error),
);
$actions = new FieldList(
FormAction::create("FormUpdateSubmit")->setTitle('Update')
);
$Page=Versioned::get_by_stage('Page', 'Live')->filter(array('SecureCode' => $_REQUEST['id']))->First();
$fields->push(HiddenField::create('id','SecureCode', $Page->SecureCode));
$fields->push(CheckboxField::create('Approbation', "Approbation")->setCustomValidationMessage($error)); ),
$required = new RequiredFields(array(
'Title','Subject','Description'
));
$form = new Form($this, 'FormModifier', $fields, $actions, $required);
$form->loadDataFrom($Page);
$form->setAttribute('novalidate', 'novalidate');
return $form;
}
的问题。 ..如果我更改标题和说明,我空主题字段,我被重定向到表单页面与主题下方的错误消息,但是,所有字段从$form->loadDataFrom($Page);
重新加载这并不好。我必须防止重新加载数据。在这种情况下,发布的数据必须替换$ Page。我缺少什么?
我已经尝试过,但它不工作更多... – StefGuev
如果我把var_dump($ request)放在FormUpdate里面,结果总是为NULL。但是在我回到表单之前,我可以看到提交的数据。所以$请求被重定向重设,我认为 – StefGuev