Wednesday, February 4, 2009

Re: Validate belongsTo model in select element - inList does not seem to work?

Something like this should work:

(code not tested, but theory sound)

class Customer extends AppModel {
var $validate = array(
'country_id' => array(
array(
'rule' => array('custom', '/^[a-z]{2}$/'),
'required' => true,
'message' => 'Please select the country that you reside in.'
),
array(
'rule' => array('checkCountry'),
'message' => Please stop playing with firebug.'
),
)
);

function checkCountry($data) {
$countryCode = reset($data);
return $this->Country->hasAny(array('Country.code' =>
$countryCode));
}
}

hth
grigri

On Feb 4, 7:01 am, Braindead <markus.he...@gmail.com> wrote:
> Brian, your solution seems to be ok, but there is one problem:
>
> Let's assume the selectbox contains the 3 items de, nl and dk.
> Selecting one of the items would pass the validation.
> But aa, ab, ac, ad, ae and so on would also pass the validation
> without being valid.
>
> So what is the way to go? I guess you have to write a custom
> validation rule, that checks if the selected item is part of the
> association.
>
> Hope that helps.
> Markus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

No comments: