<?php
declare(strict_types=1);
/**
* @author Raymond
* @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 App\Helper\Utils;
use App\Validator\Constraints\ContainsOnlyAlphabetic;
use App\Validator\Constraints\ContainsOnlyNumeric;
use App\Validator\Constraints\Nom;
use App\Validator\Constraints\PhoneNumber;
use App\Validator\Constraints\Prenom;
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 ContactezDirectementFondsInvestissement
{
public $nom;
public $prenom;
public $email;
public $telephone;
public $indicatif;
public $societe;
public $message;
public $parametre;
/**
* @Recaptcha\IsTrue(message="captcha invalide")
*/
public $recaptcha;
public $id_gestionnaire_fonds;
public $lang;
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;
}
/**
* @return mixed
*/
public function getNom()
{
return $this->nom;
}
/**
* @param mixed $nom
*/
public function setNom($nom): void
{
$this->nom = $nom;
}
/**
* @return mixed
*/
public function getPrenom()
{
return $this->prenom;
}
/**
* @param mixed $prenom
*/
public function setPrenom($prenom): void
{
$this->prenom = $prenom;
}
/**
* @return mixed
*/
public function getEmail()
{
return $this->email;
}
/**
* @param mixed $mail
*/
public function setEmail($email): void
{
$this->email = $email;
}
/**
* @return mixed
*/
public function getTelephone()
{
return $this->telephone;
}
/**
* @param mixed $telephone
*/
public function setTelephone($telephone): void
{
$this->telephone = $telephone;
}
/**
* @return mixed
*/
public function getSociete()
{
return $this->societe;
}
/**
* @param mixed $societe
*/
public function setSociete($societe): void
{
$this->societe = $societe;
}
/**
* @return mixed
*/
public function getMessage()
{
return $this->message;
}
/**
* @param mixed $message
*/
public function setMessage($message): void
{
$this->message = $message;
}
/**
* @return mixed
*/
public function getParametre()
{
return $this->parametre;
}
/**
* @param mixed $message
*/
public function setParametre($parametre): void
{
$this->parametre = $parametre;
}
/**
* @return void
*/
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('telephone', new PhoneNumber());
$metadata->addPropertyConstraint('nom', new Nom() );
$metadata->addPropertyConstraint('prenom', new Prenom());
$metadata->addPropertyConstraint('nom', new NotBlank([ 'message' => 'le champ nom est obligatoire' ]));
$metadata->addPropertyConstraint('prenom', new NotBlank([ 'message' => 'le champ prenom est obligatoire' ]));
$metadata->addPropertyConstraint('message', new NotBlank([ 'message' => 'le champ message est obligatoire' ]));
$metadata->addPropertyConstraint('telephone', new NotBlank([ 'message' => 'le champ telephone est obligatoire' ]));
$metadata->addPropertyConstraint('societe', new NotBlank([ 'message' => 'le champ société est obligatoire' ]));
$metadata->addPropertyConstraint('email', new NotBlank([ 'message' => 'le champ email est obligatoire' ]));
$metadata->addPropertyConstraint('email', new Assert\Email([ 'message' => 'le champ email est invalide' ]));
}
}