Validator calls
In
DossierLive.php
line ():
No violations
[ "value" => [ "libelle" => "ASB Solutions RH" "description" => "<p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Je vous transmets en pièce jointe le </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">cahier des charges complet du site internet ASB Solutions RH</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">.</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Merci de vous baser sur ce document pour lancer la production du site.</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Les points importants à bien respecter sont notamment :</span></p><ol><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">positionnement </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">premium, humain, professionnel et orienté solutions</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">mise en avant de l’expérience de Benoît et de son parcours de DRH,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">présentation claire des 4 offres : </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Audit RH, DRH à temps partagé, DRH de transition et Conseil RH thématique</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">respect de la charte graphique définie dans le CDC,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">arborescence en </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">5 pages</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">zoning détaillé de la page d’accueil,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">mise en avant des valeurs : </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">humain, agilité, innovation et transparence</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">intégration du lien LinkedIn,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">travail du référencement sur le </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Rhône, l’Ain et l’Isère</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">,</span></li><li data-list="bullet"><span class="ql-ui" contenteditable="false"></span><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">appels à l’action visibles vers la prise de rendez-vous et le formulaire de contact.</span></li></ol><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Merci également de bien respecter les exclusions précisées dans le CDC : </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">pas de gestion technique de la paie, pas de coaching individuel et pas de chasse de tête</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">.</span></p><h3><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Création de l’adresse mail professionnelle</span></h3><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Merci également de créer l’adresse professionnelle suivante avec le nom de domaine du client :</span></p><p><strong style="background-color: rgb(255, 255, 255); color: rgb(17, 85, 204);"><a href="mailto:contact@asb-rh.fr" rel="noopener noreferrer" target="_blank">contact@asb-rh.fr</a></strong></p><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Si possible, pouvez-vous </span><strong style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">me transmettre rapidement les accès de cette adresse mail professionnelle</strong><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">, afin que je puisse les envoyer au client au plus vite ?</span></p><p><span style="background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);">Vous pouvez lancer la production sur cette base.</span></p><p><br></p>" "link" => "https://www.asb-rh.fr/" "linkPreview" => "https://www.asb-rh.fr/" "linkTemplate" => "https://www.figma.com/design/eXVKBFVf77ffDAcqOR3mWS/ASB-Solutions-RH?node-id=0-1&p=f&t=vvStnqyAjdl4S9v8-0" ] "constraints" => Symfony\Component\Validator\Constraints\Collection {#2038 +payload: null +groups: [ "Default" ] +fields: [ "libelle" => Symfony\Component\Validator\Constraints\Required {#2065 +payload: null +groups: [ "Default" ] +constraints: [ Symfony\Component\Validator\Constraints\NotBlank {#2049 +payload: null +groups: [ "Default" ] +message: "Le libellé est obligatoire" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#2050 +payload: null +groups: [ "Default" ] +maxMessage: "Le libellé doit contenir au maximum 100 caractères" +minMessage: "Le libellé doit contenir au moins 5 caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 100 +min: 5 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] } "description" => Symfony\Component\Validator\Constraints\Required {#2068 +payload: null +groups: [ "Default" ] +constraints: [ Symfony\Component\Validator\Constraints\NotBlank {#2051 +payload: null +groups: [ "Default" ] +message: "La description est obligatoire" +allowNull: false +normalizer: null } ] } "link" => Symfony\Component\Validator\Constraints\Optional {#2052 +payload: null +groups: [ "Default" ] +constraints: [ Symfony\Component\Validator\Constraints\Url {#2053 +payload: null +groups: [ "Default" ] +message: "Lien site n'est pas valide" +tldMessage: "This URL is missing a top-level domain." +protocols: [ "http" "https" ] +relativeProtocol: false +requireTld: false +normalizer: null } ] } "linkPreview" => Symfony\Component\Validator\Constraints\Optional {#2055 +payload: null +groups: [ "Default" ] +constraints: [ Symfony\Component\Validator\Constraints\Url {#2058 +payload: null +groups: [ "Default" ] +message: "Lien preview n'est pas valide" +tldMessage: "This URL is missing a top-level domain." +protocols: [ "http" "https" ] +relativeProtocol: false +requireTld: false +normalizer: null } ] } "linkTemplate" => Symfony\Component\Validator\Constraints\Optional {#2060 +payload: null +groups: [ "Default" ] +constraints: [ Symfony\Component\Validator\Constraints\Url {#2063 +payload: null +groups: [ "Default" ] +message: "Lien template n'est pas valide" +tldMessage: "This URL is missing a top-level domain." +protocols: [ "http" "https" ] +relativeProtocol: false +requireTld: false +normalizer: null } ] } ] +allowExtraFields: false +allowMissingFields: false +extraFieldsMessage: "This field was not expected." +missingFieldsMessage: "This field is missing." } "groups" => null ]
In
ValidationListener.php
line ():
No violations
if ($form->isRoot()) {// Form groups are validated internally (FormValidator). Here we don't set groups as they are retrieved into the validator.foreach ($this->validator->validate($form) as $violation) {// Allow the "invalid" constraint to be put onto// non-synchronized forms$allowNonSynchronized = $violation->getConstraint() instanceof Form && Form::NOT_SYNCHRONIZED_ERROR === $violation->getCode();
[ "value" => Symfony\Component\Form\Form {#2998 name: "dossier" type_class: "App\Form\DossierType" data: App\Entity\Dossier {#2695 -id: null -libelle: null -projet: null -createdAt: DateTimeImmutable @1788766448 {#2966 date: 2026-09-07 09:34:08.434355 Europe/Paris (+02:00) } -dateReception: null -dateLivraisonMaquette: null -dateProduction: null -dateLivraison: null -contact: null -description: null -link: null -status: null -priority: 1 -type: null -createdBy: null -docs: null -deadline: null -devis: null -quotes: Doctrine\Common\Collections\ArrayCollection {#3134 …} -slug: null -linkPreview: null -linkTemplate: null -facture: false -seoStats: false -bloque: false -kanban: null -reference: null -metas: Doctrine\Common\Collections\ArrayCollection {#3131 …} -manager: null -affectedTo: null -statusHistories: Doctrine\Common\Collections\ArrayCollection {#3135 …} } } "constraints" => null "groups" => null ]