エンティティの保存で引用符なしでhtmlspecialcharsを実行したいと思います。CakePHPバリデーターがフォームの実体ではありません
コード:
$post['body'] = htmlentities($this->request->getData('body'), ENT_NOQUOTES);
Validatorは保存時に動作しません。
どのように動作させるには?
おかげ
エンティティの保存で引用符なしでhtmlspecialcharsを実行したいと思います。CakePHPバリデーターがフォームの実体ではありません
コード:
$post['body'] = htmlentities($this->request->getData('body'), ENT_NOQUOTES);
Validatorは保存時に動作しません。
どのように動作させるには?
おかげ
h()
方法は、ケーキのAPIで見つけることができるようにhtmlspecialchars()
詳細については、単なるラッパーではhttps://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#h
h(string $text, boolean $double = true, string $charset = null)
長いとそれの短いですもののための最初のパラメータ関数は文字列であり、データの配列を渡しています。あなたが設定しwithDataを使用することができます追加し、より明確な例の検証
を保つために:あなたがそれらを取り除くしたい場合は、各要素
編集に独自のまたは個別の実行とpatchEntity()
特殊文字関数をオーバーライドすることができます応答データを使用し、パッチエンティティを使用します。例えば。
$data = $this->request->withData('body', htmlentities($this->request->getData('body'), ENT_NOQUOTES))
次に、新しい要求オブジェクトを使用してエンティティをパッチ/検証します。
patchEntity($post, $data)
$ post ['body'] = htmlentities($ this-> request-> getData( 'body')、ENT_NOQUOTES)を試してみてください。バリデーターは機能しません。本文をgetDataと同じにしても、動作させる方法はありますか? –
withDataを使用して応答データを設定し、引き続きパッチエンティティを使用することができます。例えば、 '$ data = $ this-> request-> withData( 'body'、htmlentities($ this-> request-> getData( 'body')、ENT_NOQUOTES))'とすると、リクエストとして$ dataを持つパッチエンティティを使います。私はより明確な例で私の投稿を編集します – KaffineAddict
返信いただきありがとうございます。私は$ reply ['body'] = $ this-> request-> withData( 'body'、htmlentities($ this-> request-> getData( 'body')、ENT_NOQUOTES)を使用すると値を文字列に変換できません) ; –