Thanks, I guess I will just keep what I have, was just curious as to which maybe better but my guess is the inList function is an array_diff() so its pretty much the same thing I got going on now
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Miles J Sent: January-07-10 2:24 PM To: CakePHP Subject: Re: Validate Question You will have to set the validation rule during runtime in your model/ controller, like so: $this->Model->validate['field']['inList'] = array('rule' => array ('inList', $myListVariable)); On Jan 7, 2:06 am, John Andersen <[email protected]> wrote: > Hi Dave, > > Is your rule made in accordance with CakePHP custom validation rules? > If yes, then I don't see a better solution. > > Seehttp://book.cakephp.org/view/150/Custom-Validation-Rules#Adding-your-... > for the custom validation rules. > > Enjoy, > John > > On Jan 7, 7:48 am, "Dave" <[email protected]> wrote: > > > Using the inList validation rule I have 2 questions. > > > 'rule' => array('inList', array('0', '1', '2','3', '4', '5', '6', > > '7')), will allow values matching 0 thru 7 anything else is invalid > > > So my first question is if I created an variable array of values > > from a find could i just use 'rule' => array('inList', > > $myListVariable), > > > and if that is possible how do i get the $myListVariable into the > > validation function? > > > Or is better to just stick with what im currently doing. For example > > I have my country select list and it has a validation 'rule' => > > array('checkCountryValues'), > > > Model function for the country validation > > /* > > Form Modification Validation > > Checks that entered values for Country are Valid > > > */ > > public function checkCountryValues($data) > > { > > $valid = false; > > $model_table = Inflector::classify($this->useTable); > > > if (!empty($this->data)) > > { > > // this section matches values against database > > $value = array($this->data[$model_table]['country_id']); > > $results = array_diff($value, $this->Country->find('list', > > array('fields' => 'id'))); > > > if (empty($results)) > > > $valid = true; > > } > > > return $valid; > > } > > > So if anyone messes with the form it returns invalid. > > > Ideas? > > > Dave No virus found in this incoming message. Checked by AVG - www.avg.com Version: 9.0.725 / Virus Database: 270.14.124/2599 - Release Date: 01/07/10 04:05:00
Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions. You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
