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

Reply via email to