<?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 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 DemandeFinancement
{
public $civilite;
public $nom;
public $prenom;
public $code_postal_utilisateur;
public $email;
public $telephone;
public $indicatif;
public $montant_apport;
public $activite_societe;
public $ca;
public $resultat_net;
public $code_postal_siege;
public $date_realisation_operation;
public $montant_a_financer;
public $banque_actuelle;
public $diponibilites;
public $commentaires;
/**
* @Recaptcha\IsTrue(message="captcha invalide")
*/
public $recaptcha;
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('telephone', new PhoneNumber());
$metadata->addPropertyConstraint('nom', new Nom() );
$metadata->addPropertyConstraint('prenom', new Prenom());
$metadata->addPropertyConstraint('civilite', new NotBlank([ 'message' => 'le champ civilite est obligatoire' ]));
$metadata->addPropertyConstraint('nom', new NotBlank([ 'message' => 'le champ nom est obligatoire' ]));
$metadata->addPropertyConstraint('prenom', new NotBlank([ 'message' => 'le champ prenom est obligatoire' ]));
$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' ]));
$metadata->addPropertyConstraint('montant_apport', new NotBlank([ 'message' => "le champ montant de l'apport est obligatoire" ]));
$metadata->addPropertyConstraint('montant_apport', new ContainsOnlyNumeric([ 'message' => "le champ montant de l'apport est invalide" ]));
$metadata->addPropertyConstraint('ca', new ContainsOnlyNumeric([ 'message' => "le champ CA est invalide" ]));
$metadata->addPropertyConstraint('resultat_net', new ContainsOnlyNumeric([ 'message' => "le champ resultat net est invalide" ]));
$metadata->addPropertyConstraint('montant_a_financer', new ContainsOnlyNumeric([ 'message' =>"le champ montant est invalide" ]));
$metadata->addPropertyConstraint('code_postal_utilisateur', new NotBlank([ 'message' => "le champ code postal est obligatoire" ]));
}
/**
* @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;
}
}