使用SilverStripe GridField或ModelAdmin进行创建/读取/更新/删除时,如何检查创建/读取/更新/删除操作的返回值(例如成功,错误等)?
例如,在按下保存按钮之前,GridField和ModelAdmin提交更改。
答案 0 :(得分:1)
这是数据对象的示例验证器...当你有这个时,它会在每次保存时被调用,这会在保存之前“检查”表单中的值,并且可以通过以下方式提出特定表单字段旁边的验证错误/消息名称...
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());
}
}