Je rencontre un problème avec la validation CSRF dans yii2. La validation fonctionne bien avec le formulaire par défaut généré par le gii, mais lorsque je modifie le formulaire avec des balises HTML, la soumission du formulaire génère une erreur de requête incorrecte. J'ai désactivé la validation CSRF pour masquer l'erreur, mais je souhaite l'utiliser pour la sécurité de l'application et la validation des données.
Existe-t-il un moyen de résoudre cette erreur ou de le configurer pour qu'il fonctionne correctement dans ce scénario?
Je suppose que votre formulaire html n'a pas de champ _csrf
caché, qui est généré automatiquement par les widgets Yii2 standard.
Le code minimum de votre formulaire personnalisé pourrait donc ressembler à ceci:
<form method="post">
<input type="hidden" name="<?= Yii::$app->request->csrfParam; ?>" value="<?= Yii::$app->request->csrfToken; ?>" />
<button type="submit"> Save </button>
</form>
Essaye ça
<?=yii\helpers\Html::hiddenInput(Yii::$app->request->csrfParam, Yii::$app->request->csrfToken)?>