How about this?

AppModel:

function setValidation($validation) {
 $this->__restoreValidation = $this->validate;
 if (isArray($validation)) {
    $this->validate = $validation;
 } else {
    $validation = 'validate_' . $validation;
    $this->validate = $this->$validation;
 }
}

function restoreValidation() {
    $this->validate =   $this->__restoreValidation
}

In your model:

function register($data) {
  $this->setValidation('register');
  $result =  $this->save($data);
  $this->restoreValidation();
  return $result;
}


I was thinking in putting all of this in a behavior...

On Mon, Apr 14, 2008 at 6:55 AM, Flipflops <[EMAIL PROTECTED]> wrote:
>
>  Hi
>
>  That's a really good idea  - you also wouldn't have to worry about
>  using the wrong validation array by mistake - which I have done - and
>  it took me an age before I figured out what the problem was.
>
>  Cheers
>
>
>
>  On Apr 14, 10:16 am, keymaster <[EMAIL PROTECTED]> wrote:
>  > oops, that should read:
>  >
>  > function beforeValidate(){
>  >
>  >      // assume $action is set to current action.
>  >      if (isset($this->validateArray[$action])) {
>  >
>  >           // reassign the $validate variable.
>  >           $this->validate = $this->validateArray[$action];
>  >      }
>  >
>  > }
>  >
>  > The beforeValidate() can be put into the appModel to apply to all your
>  > models.
>  >
>  > This way your controllers never have to worry about any of this
>  > validation stuff, as it should be.
>  >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to