SilverStripe GridField 和 ModeAdmin 创建/读取/更新/删除 return 个值

SilverStripe GridField and ModeAdmin create / read / update / delete return values

在使用 SilverStripe GridField 或 ModelAdmin 创建/读取/更新/删除时,如何检查创建/读取/更新/删除操作的 return 值(例如成功、错误等) ?

例如 GridField 和 ModelAdmin 甚至在按下保存按钮之前提交更改。

这是数据对象的示例验证器...当您拥有它时,它会在每次保存时调用 "checks" 保存前表单中的值,并且可以在旁边引发验证错误/消息按名称的特定表单字段...

class ObjectA extends DataObject {

    static $db = array(
        "Name"          => "Varchar",
    );

    function getCMSValidator() {
        return new ObjectA_Validator();
    }
    function getValidator() {
        return new ObjectA_Validator();
    }
}

class ObjectA_Validator extends RequiredFields {
    function php($data) {
        $bRet = parent::php($data);

        if (ObjectB::get()->filter('OtherName',$data['Name']))
            $this->validationError('Name','ObjectB exists with that name',"required");

        return count($this->getErrors());
    }
}