2017-07-19 2 views

Répondre

0

La méthode h() est juste un wrapper pour htmlspecialchars() plus d'informations sur qui peut être trouvé dans l'API Cake https://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#h

h(string $text, boolean $double = true, string $charset = null) 

longue et courte de c'est que le premier paramètre pour ceux fonctions est une chaîne et vous passez dans un tableau de données. Si vous voulez dépouiller ceux sur vous pouvez remplacer le patchEntity() avec votre propre ou individuel course fonctionnent les caractères spéciaux sur chacun des éléments

Edit: par exemple Ajout de plus clair pour garder la validation

Vous pouvez utiliser le withData pour régler la données de réponse et utilisent toujours des entités de correctifs. par exemple.

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

Puis corrigez/validez l'entité à l'aide du nouvel objet de requête.

patchEntity($post, $data) 
+0

Si = htmlentities ($ this-> request-> getData ('corps'), ENT_NOQUOTES) J'essaie $ après [ 'corps']; le validateur ne fonctionne pas. Y at-il un moyen de le faire fonctionner - même lorsque le corps est le même que le getData? –

+0

Vous pouvez utiliser withData pour définir les données de réponse et utiliser les entités de correctifs. par exemple '$ data = $ this-> request-> withData ('body', htmlentities ($ this-> request-> getData ('body'), ENT_NOQUOTES))' utilise alors les entités de patch avec $ data comme requête . Je vais éditer mon poste avec un exemple plus clair – KaffineAddict

+0

Merci pour la réponse. Je ne peux pas convertir la valeur en chaîne en utilisant $ reply ['body'] = $ this-> request-> withData ('body', htmlentities ($ this-> request-> getData ('body'), ENT_NOQUOTES)) ; –