1 pièce(s) jointe(s)
probléme au cours de création utilisateur
Salut, je trouve un probléme au cours de la création n utilisateur, dans mon projet admin peut crée des utilisateurs avec des formualires , je fais validatité sur la taille du champ numéro adhérant , le champ ne contient que des entiers et de taille 8 entiers , le probléme est vérifier que ne contient pas que des chiffres mais quand il donne une taille différent de 8 il accept cà et il crée la compte et aprés création il affich erreur de la taille ( je travaille avec fosuserBundle)
code entity user:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
| <?php
// src/AppBundle/Entity/User.php
namespace UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @ORM\Entity(repositoryClass="UserBundle\Entity\UserRepository")
* @UniqueEntity("numadherant", message=" un Utilisateur existe déjà avec cette numéro d'Adhérant.")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $nom;
/**
* @ORM\Column(type="string", length=255)
*/
private $prenom;
/**
* @ORM\Column(type="string", length=255, nullable=true, unique=true)
* @Assert\Regex(pattern="/\d/")
* @Assert\Length(min=8)
* @Assert\Length(max=8)
*/
private $numadherant;
public function __construct()
{
parent::__construct();
$this->commandes = new \Doctrine\Common\Collections\ArrayCollection();
$this->adresses = new \Doctrine\Common\Collections\ArrayCollection();
$this->roles = array("ROLE_FANS");
}
/**
* @ORM\OneToMany(targetEntity="ventenligneBundle\Entity\Commandes", mappedBy="utilisateur")
*/
private $commandes;
/**
* @ORM\OneToMany(targetEntity="ventenligneBundle\Entity\UtilisateursAdresses", mappedBy="utilisateur")
*/
private $adresses;
/**
* Add commandes
*
* @param \ventenligneBundle\Entity\Commandes $commandes
* @return User
*/
public function addCommande(\ventenligneBundle\Entity\Commandes $commandes)
{
$this->commandes[] = $commandes;
return $this;
}
/**
* Remove commandes
*
* @param \ventenligneBundle\Entity\Commandes $commandes
*/
public function removeCommande(\ventenligneBundle\Entity\Commandes $commandes)
{
$this->commandes->removeElement($commandes);
}
/**
* Get commandes
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCommandes()
{
return $this->commandes;
}
/**
* Add adresses
*
* @param \ventenligneBundle\Entity\UtilisateursAdresses $adresses
* @return User
*/
public function addAdress(\ventenligneBundle\Entity\UtilisateursAdresses $adresses)
{
$this->adresses[] = $adresses;
return $this;
}
/**
* Remove adresses
*
* @param \ventenligneBundle\Entity\UtilisateursAdresses $adresses
*/
public function removeAdress(\ventenligneBundle\Entity\UtilisateursAdresses $adresses)
{
$this->adresses->removeElement($adresses);
}
/**
* Get adresses
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAdresses()
{
return $this->adresses;
}
/**
* Set nom
*
* @param string $nom
* @return User
*/
public function setNom($nom)
{
$this->nom = $nom;
return $this;
}
/**
* Get nom
*
* @return string
*/
public function getNom()
{
return $this->nom;
}
/**
* Set prenom
*
* @param string $prenom
* @return User
*/
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
/**
* Get prenom
*
* @return string
*/
public function getPrenom()
{
return $this->prenom;
}
/**
* Set numadherant
*
* @param string $numadherant
* @return User
*/
public function setNumadherant($numadherant)
{
$this->numadherant = $numadherant;
return $this;
}
/**
* Get numadherant
*
* @return string
*/
public function getNumadherant()
{
return $this->numadherant;
}
} |
code ajout.html.twig:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| {% extends "::layout/layout.html.twig" %}
{% form_theme form":FormTemplate:Formu.html.twig" %}
{% block body %}
<h1 class="text-center">{{ msg }}</h1>
<form method="post" name="formulaire" role="form" {{ form_enctype(form) }} >
<table>
{{form(form) }}
{{form(form.numadherant) }}
</table>
{{ form_rest(form) }}
<br><br><input type="submit" value="ajouter Utilisateur" class="btn btn-success btn-block" />
</form>
{% endblock %} |
code controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public function ajouterAction()
{
$msg= "Ajouter Utilisateur";
$em = $this->getDoctrine()->getManager();
$user = new User();
$form = $this->createForm(new AdherantRegistrationType,$user);
$request = $this->getRequest();
if($request->getMethod()=='POST') {
$form->handleRequest($request);
$user->addRole("ROLE_ADHERANT");
$user->setEnabled(true);
$em->persist($user);
$em->flush();
}
// mail de validation
$message = \Swift_Message::newInstance()
->setSubject('Votre Compte à été crée avec succes')
->setFrom(array('abaiedmadridi@gmail.com' => "Equipe CAB"))
->setTo($user->getEmailCanonical())
->setCharset('utf-8')
->setContentType('text/html')
->setBody($this->renderView('UserBundle:Default:SwiftLayout/validationCommande.html.twig',array('user' => $user)));
$this->get('mailer')->send($message);
return $this->render('UserBundle:User:ajouter.html.twig',array(
'form'=>$form->createView(),
'msg'=>$msg
)
);
} |
exemple:
Pièce jointe 210422
dans l'exemple il affiche l'erreur mais aussi creé compte
quelle est la solution et merci d'avance