Я пытаюсь сделать поля обязательными в CMS:
class Documents extends DataObject {
private static $db = array(
'DocType' => 'Text',
'DocTitle' => 'Text',
'DocNumber' => 'Text'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields = FieldList::create(TabSet::create('Root'));
$fields->addFieldsToTab('Root.Main', array(
DropdownField::create('DocType','Document Type'),
DropdownField::create('DocStatus','Document Status'),
TextField::create('DocNumber','Document Number'),
...
RequiredFields::create(array('DocType','DocTitle','DocNumber'));
));
return $fields;
}
Но в моем журнале ошибок SilverStripe я получаю следующее:
Msgstr «Uncaught Exeption: метод ‘getname’ не существует в RequiredFields или метод не является общедоступным».
Как сделать поля обязательными в SilverStripe CMS?
В CMS мы можем объявить обязательные поля, объявив getCMSValidator
функция и возвращение RequiredFields
:
public function getCMSValidator()
{
return RequiredFields::create(
'DocType',
'DocTitle',
'DocNumber'
);
}
Других решений пока нет …