Re: Quickform Validation not occuring

From: Date: Sun, 05 Dec 2004 22:29:14 +0000
Subject: Re: Quickform Validation not occuring
References: 1 2 3  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-16027@lists.php.net to get a copy of this message
On Sun, 5 Dec 2004 14:57:51 -0600, Adam Hubscher <webmaster@offbeat-zero.net> wrote: > if ($this->validate()) { > $this->process('ProcessNewUser',FALSE); > } > else{ > $this->addElement('text','account','Desired Login (Max 10 > characters):', > array('size' => 17, 'maxlength' => 13)); > > /*$pass['password'] =& $this->createElement('password', > 'password', null, > array('size' =>17, 'maxlength' => 10)); > $pass['verify'] =& $this->createElement('password', > 'verify', null, > array('size' => 17, 'maxlength' => 10)); > $this->addGroup($pass, 'password', 'Password (Desired, > Verification):', > '<br />');*/ > $this->addElement('password', 'password', 'Desired Password: > ', > array('size' =>17, 'maxlength' => 10)); > $name['last'] =& $this->createElement('text', > 'lastName', null, > array('size' => 17, 'maxlength' => 10)); > $name['first'] =& $this->createElement('text', > 'firstName', null, > array('size' => 17, 'maxlength' => 8)); > $this->addGroup($name, 'name', 'Name (last, first):', > ',&nbsp;'); > > $this->addElement('date','birthday','Birthdate',$this->bdayoptions); > > $this->addElement('text','question','Secret > Question:',array('size'=>17, > 'maxlength' => 20)); > $this->addElement('text','answer','Question > Answer:',array('size' => 17, > 'maxlength' => 20)); > $this->addElement('reset', 'reset', 'Clear Form'); > $this->addElement('submit', 'btnSubmit', 'Submit'); > print_r( $this->getRegisteredRules()); > $_SESSION['ViewType']=''; > $this->applyFilter('__ALL__', 'trim'); > > //$this->addGroupRule('password', 'Password is required', > 'required'); > //$this->addGroupRule('password', 'The passwords do not match', > 'compare'); > > $this->view = new View; > $this->view->NewUser($this); > > } > > This is the code for the block that generates the form. Do i place the > reference as $this->view->NewUser(&$this);? I attempted that and it gave me > the deprecated reference warning, so I suppose I'm just not understanding > where exactly the reference should be placed. You shouldn't use call-time pass by reference. Put it in the declaration of the function funciton func(&$argbyref) { } > "Alexey Borzov" <borz_off@cs.msu.su> wrote in message > news:41B372CB.9070509@cs.msu.su... > > > > Hi, > > > > Adam Hubscher wrote: > > > After testing, which included placing the addRule statement everywhere I > > > could think of it being read before the form is displayed... adding a > little > > > piece of code that returned true whenever the addRule function completed > > > successfully... and even testing if the rule is actually added in the > first > > > place, I discovered that although the addRule function is being called > and > > > completing successfully, there is no actual rule being added. (this is > > > assuming that the isElementRequired method does in fact check to see if, > > > say, the 'LoginID' textbox is a required form element based upon the > form's > > > rules). So in this, I discovered that the form validation... was being > > > validated because there were no rules for it to validate. > > > > Most probably you pass the form object into some function not by > reference. > > Therefore the rules are added to the copy of the object and are lost when > the > > function is finished. > -- Justin Patrin

« previous php.pear.general (#16027) next »