CakePHP Validator不工作表单实体

时间:2017-07-19 14:27:46

标签: cakephp quotes htmlspecialchars

我想在我的实体保存中执行没有引号的htmlspecialchars。

代码:

$post['body'] = htmlentities($this->request->getData('body'), ENT_NOQUOTES);

Validator不会保存。

如何让它发挥作用?

由于

1 个答案:

答案 0 :(得分:0)

h()方法只是htmlspecialchars()的一个包装器,可以在Cake API https://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#h

中找到更多相关信息。
h(string $text, boolean $double = true, string $charset = null)

它的长短是这些函数的第一个参数是一个字符串,你传入一个数组。如果你想剥离它们,你可以用自己或个人覆盖patchEntity(),在每个元素上运行特殊的字符函数

编辑:添加了更多明确的示例以保持验证

您可以使用withData设置响应数据并仍然使用补丁实体。例如。

$data = $this->request->withData('body', htmlentities($this->request->getData('body'), ENT_NOQUOTES))

然后使用新的请求对象修补/验证实体。

patchEntity($post, $data)