在CakePHP 3.2中保存数据之前,删除HTML标记的建议方法是什么?
我正在使用$this->request->data
构建newEntity(数据来自表单),稍后,我正在使用保存功能。
答案 0 :(得分:2)
您可以使用Model.beforeMarshal
事件/回调来修改数据,然后再将其转换为实体。
来自文档:
如果您需要在转换成请求数据之前对其进行修改 实体,您可以使用Model.beforeMarshal事件。这个事件让 您在创建实体之前操纵请求数据:
// In a table or behavior class public function beforeMarshal(Event $event, ArrayObject $data, ArrayObject $options) { if (isset($data['username'])) { $data['username'] = mb_strtolower($data['username']); } }
[...]
<强> Cookbook > Database Access & ORM > Saving Data > Modifying Request Data Before Building Entities 强>
在相关的说明中,不要忘记不依赖输入清理,在使用/输出数据时务必将其视为可能不安全!