<?php
declare(strict_types=1);
/**
* @author Mehrez Labidi
* @Description il s'agit d'un modèle pour définir les différents validations utilisés dans le formulaire FormType
* Ce modèle n'interagit pas avec la base de données
*/
namespace App\Form\Models;
use EWZ\Bundle\RecaptchaBundle\Validator\Constraints as Recaptcha;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Constraints\IsTrue;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
class NewslettersInscription
{
public $mail;
public $pays;
public $region;
public $metier;
public $pays_newsletter;
/**
* @Recaptcha\IsTrue(message="Le captcha est invalide")
*/
public $recaptcha;
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('mail', new NotBlank([ 'message' => 'Le champ email ne peut pas être vide' ]));
$metadata->addPropertyConstraint('mail', new Assert\Email([ 'message' => 'Le champ email est invalide' ]));
$metadata->addPropertyConstraint('pays', new NotBlank([ 'message' => 'Le champ votre pays ne peut pas être vide' ]));
$metadata->addPropertyConstraint('metier', new NotBlank([ 'message' => 'Le champ votre metier ne peut pas être vide' ]));
$metadata->addPropertyConstraint('pays_newsletter', new NotBlank([ 'message' => 'Le champ pays de la newsletter ne peut pas être vide' ]));
/**
* renfort de validation: voir ici:
* https://github.com/jbafford/PasswordStrengthBundle
*/
}
/**
* @param $property
* @return mixed
*/
public function _get($property)
{
return $this->$property;
}
/**
* Magic setter to save public properties.
*
* @param string $property
* @param mixed $value
*/
public function _set($property, $value)
{
$this->$property = $value;
}
}