RE: Validate Question
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: cake-php@googlegroups.com [mailto:cake-php@googlegroups.com] 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 <j.andersen...@gmail.com> 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" <make.cake.b...@gmail.com> 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
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home