[JS] Annuler la création d'un objet utilisateur

Annuler la création d'un objet utilisateur [JS] - HTML/CSS - Programmation

Marsh Posté le 15-10-2004 à 11:14:29    

Salut,
 
Je définis un objet, par exemple :
 

Code :
  1. function Voiture(nom,cylindrée){
  2.   // Propriétés
  3.   this.nom=nom;
  4.   // Méthodes
  5.   this.demarrer=Voiture_demarrer;
  6.   if(this.nom!='unnomvalide') { ????? }
  7. }
  8. function Voiture_demarrer(){
  9. ...
  10. }


Le but : si par exemple je détecte que le nom n'est pas valide, je dois alors annuler la création de l'objet. C'est faisable ?
 
J'ai testé un return false, mais l'objet est quand même créé :
 

Code :
  1. toto=new Voiture('pasvalide',2000);
  2. alert(toto);


 
Cà me donne "object" en alerte, alors que j'aimerai plutôt un "null" ou un undefined ou je ne sais quoi d'autre.
 
Merci.


Message édité par cypress le 15-10-2004 à 11:27:01

---------------
Savoir c'est vivre, et maintenir dans l'ignorance c'est presque un homicide
Reply

Marsh Posté le 15-10-2004 à 11:14:29   

Reply

Marsh Posté le 15-10-2004 à 12:28:12    

Dès que tu appelles le constructeur de ton objet il est créer. Un moyen de résoudre ton pb est sans doute de faire le test en dehors mais j'imagine que ça te tente pas ou alors de supprimer l'objet dans le constructeur avec un truc style this=null ...

Reply

Marsh Posté le 15-10-2004 à 12:33:20    

Il faut faire :
* ou bien une factory à objets qui fera les tests adéquats (puisque ce n'est pas la voiture qui sait si son nom est bon mais celui qui la fabrique)  
 
* ou bien plus simple : faire une méthode statique de Voiture qui crée l'objet et retourne this.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed