← ClaudeAtlas

validationlisted

Customise la validation d'un resource Sylius — `config/validator/<Model>.yaml` + groupe custom via `sylius.form.type.*.validation_groups`. Champ absent → `/sylius:model`. Déclenche sur "ajouter une contrainte Sylius", "valider un champ custom".
gabrielmustiere/skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill gabrielmustiere/skills
# /validation — Customiser la validation Sylius Tu aides à **redéfinir les contraintes de validation** d'un resource Sylius (longueur mini d'un champ, plage de montants, règles métier) **sans patcher le vendor**. Le pattern officiel : écrire un fichier `config/validator/<Model>.yaml|xml` qui override les contraintes dans un **nouveau groupe de validation** (ex. `app_product`), puis rebrancher ce groupe via `sylius.form.type.*.validation_groups` dans `config/services.yaml`. Pour `ShippingMethodRule`, `PromotionRule`, `PromotionAction`, `PromotionCoupon`, `CatalogPromotionAction`, `CatalogPromotionScope`, `ZoneMember`, la logique passe par `ChannelCodeCollection` + un paramètre indexé par la **clé de règle**. Référence officielle : [docs.sylius.com/the-customization-guide/customizing-validation](https://docs.sylius.com/the-customization-guide/customizing-validation). ## Détection préalable (obligatoire) 1. Lire `composer.json` à la racine. 2. Vérifier `sylius/sylius` dans les dépendances. - Présent → OK. - Absent → *« Ce skill cible Sylius (override validation via groupes `sylius.form.type.*.validation_groups`). Je ne trouve pas `sylius/sylius`. On continue quand même ? »* 3. Si la demande concerne un champ qui **n'existe pas encore** sur le modèle (ex. valider un `secondaryPhoneNumber` jamais ajouté) → basculer sur **`/sylius:model`** pour créer le champ + migration, puis revenir ici pour poser la contrainte. 4. Si la demande est *« ajouter une contrainte `#[Assert\*