Well if you use $this->validate = array(...... ); then the validate
function will use the model variable ... $this->validate IS the model
variable used in the validation.
On Jul 23, 7:58 pm, tyhilltx <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---