But doesn't $this->validate just call the validation using the
$validate variable set in the model? That's the variable I'm trying
to set based on a session variable. The $validate variable will
contain the validate rules I want applied.
I've run this code. The $validate variable is getting set properly
inside beforeValidate() BUT cake is not using it to validate my data.
So can I not assign another array to the $validate variable? Is that
variable getting passed BEFORE beforeValidate() is being called?
On Jul 23, 12:28 pm, francky06l <[EMAIL PROTECTED]> wrote:
> Why not set $this->validate directly in beforeValidate of your model
> (I do not see the point of the $validate variable) ?
>
> On Jul 23, 7:20 pm, tyhilltx <[EMAIL PROTECTED]> wrote:
>
> > I would like to set the model $validate variable based on a session
> > variable that I am successfully passing into my model. I've
> > initialized the validate variable (see code below) and called it from
> > within beforeValidate(). (see code below).
>
> > Reason: half of my table fields are optional based on the filing
> > status the user selects. I would like to take advantage of Cake's
> > built-in validate but have these optional fields. Will this work? Is
> > there a better alternative?
>
> > var $validate = array();
>
> > function beforeValidate() {
>
> > global $validate;
> > if ($this->sess_filing_status == "married") {
>
> > $validate = array(
> > 'user_id' => VALID_NOT_EMPTY,
> > 'filing_status' => VALID_NOT_EMPTY,
> > 'principal_first_name' => VALID_NOT_EMPTY,
> > 'principal_last_name' => VALID_NOT_EMPTY,
> > 'principal_county' => VALID_NOT_EMPTY,
> > 'principal_address1' => VALID_NOT_EMPTY,
> > 'principal_city' => VALID_NOT_EMPTY,
> > 'principal_state' => VALID_NOT_EMPTY,
> > 'principal_zip' => VALID_NOT_EMPTY,
> > 'principal_home_phone' => VALID_NOT_EMPTY,
> > 'principal_email' => VALID_EMAIL,
> > 'secondary_first_name' => VALID_NOT_EMPTY,
> > 'secondary_last_name' => VALID_NOT_EMPTY,
> > 'secondary_county' => VALID_NOT_EMPTY,
> > 'secondary_address1' => VALID_NOT_EMPTY,
> > 'secondary_city' => VALID_NOT_EMPTY,
> > 'secondary_state' => VALID_NOT_EMPTY,
> > 'secondary_zip' => VALID_NOT_EMPTY,
> > 'secondary_home_phone' => VALID_NOT_EMPTY,
> > 'secondary_email' => VALID_EMAIL,
> > 'expiration_date' => VALID_NOT_EMPTY
> > );
>
> > } else {
>
> > $validate = array(
> > 'user_id' => VALID_NOT_EMPTY,
> > 'filing_status' => VALID_NOT_EMPTY,
> > 'principal_first_name' => VALID_NOT_EMPTY,
> > 'principal_last_name' => VALID_NOT_EMPTY,
> > 'principal_county' => VALID_NOT_EMPTY,
> > 'principal_address1' => VALID_NOT_EMPTY,
> > 'principal_city' => VALID_NOT_EMPTY,
> > 'principal_state' => VALID_NOT_EMPTY,
> > 'principal_zip' => VALID_NOT_EMPTY,
> > 'principal_home_phone' => VALID_NOT_EMPTY,
> > 'principal_email' => VALID_EMAIL,
> > 'expiration_date' => VALID_NOT_EMPTY
> > );
>
> > }
>
> > Thanks for your time!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake
PHP" 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
-~----------~----~----~----~------~----~------~--~---