/** * Set up current form errors in session to * the current form if appropriate. * * @return $this */ public function setupFormErrors() { $errorInfo = Session::get("FormInfo.{$this->FormName()}"); if (isset($errorInfo['errors']) && is_array($errorInfo['errors'])) { foreach ($errorInfo['errors'] as $error) { $field = $this->fields->dataFieldByName($error['fieldName']); if (!$field) { $errorInfo['message'] = $error['message']; $errorInfo['type'] = $error['messageType']; } else { $field->setError($error['message'], $error['messageType']); } } // load data in from previous submission upon error if (isset($errorInfo['data'])) { $this->loadDataFrom($errorInfo['data']); } } if (isset($errorInfo['message']) && isset($errorInfo['type'])) { $this->setMessage($errorInfo['message'], $errorInfo['type']); } return $this; }
public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab('Root.Test', new TextField('ExtendedFieldRemove')); $fields->addFieldToTab('Root.Test', new TextField('ExtendedFieldKeep')); if ($childField = $fields->dataFieldByName('ChildFieldBeforeExtension')) { $childField->setTitle('ChildFieldBeforeExtension: Modified Title'); } if ($grandchildField = $fields->dataFieldByName('GrandchildFieldBeforeExtension')) { $grandchildField->setTitle('GrandchildFieldBeforeExtension: Modified Title'); } }
public function testMakeFieldReadonly() { $FieldList = new FieldList(new TabSet('Root', new Tab('Main', new TextField('A'), new TextField('B')))); $FieldList->makeFieldReadonly('A'); $this->assertTrue($FieldList->dataFieldByName('A')->isReadonly(), 'Field nested inside a TabSet and FieldList can be marked readonly by FieldList->makeFieldReadonly()'); }