<?php
declare(strict_types=1);
/**
* @author Raymond
*/
namespace App\Form\Models;
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;
use App\Validator\Constraints\Message;
class ContactPubFusacqExpert
{
public $nom;
public $prenom;
public $email;
public $telephone;
public $indicatif;
public $societe;
public $message;
/**
* @Recaptcha\IsTrue(message="captcha invalide")
*/
public $recaptcha;
public $lang;
/**
* @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('message', new Message() );
$metadata->addPropertyConstraint('telephone', new NotBlank([ 'message' => 'le champ telephone 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' ]));
/**
* 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;
}
}