Hello all!

I'm using 1.2.1

I used to just have Cake validate my data in the save() method.  Now I
need to validate the data before the save, so I call $this-
>validateData() inside my model before the save().  My dates used to
validate fine when calling save(), now they all fail when I call
validateData.  It seems that save() changed the date array into a
string before passing it to the date validation function.  It seems
I'll have to change the date array into a string before calling
validateData then change it back to an array for save.  I figure I'm
missing something b/c Cake is usually much more programmer friendly!

I have a date field that is created like this in my view:
      echo $form->input('Punch.workdate',
          array('maxYear'=>$yr,
                'minYear'=>--$yr,
                'div'=>false,
                'label'=>false,
                'dateFormat'=>'mDY'));

In my model I have this validation:
      'workdate' => array(
        'rule' => array('date','ymd'),
        'message' => 'Date is not valid.',
        'allowEmpty' => false
      ),

Then in my model I've customized the save() method:
    function save($data)
    {
       $bRet = false;
       // some logic against $data
       $this->data = $data;
       if ($this->invalidFields()) {
          return parent::save();
       }
       return false;
    }

Unfortunately, the data is never saved because the date fails (even
though it is valid).  The date array will look like this:
data[Punch][workdate][month] = '03'
data[Punch][workdate][day] = '12'
data[Punch][workdate][year] = '2009'

Any help would be greatly appreciated!
S
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" 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