allowEmpty actually translates to 'not set' i.e. if the field is not
set in the model then don't fail validation. I think what you're
looking for is similar to me - i.e. 'allowBlank' - ala
https://trac.cakephp.org/ticket/2092 Use at your own risk as this
patch may not be accepted and 1.2 is still under serious development.
A better alternative at this stage (rather than patching the core) is
to either a) unset blank fields in beforeValidate() or b) manually
validate optional fields in validates() then call parent::validates()
and return the result. I've taken option b - with a //TODO note to
refactor once allow blank functionality comes into the core - which
I'm sure it will, just maybe not as the above patch :)
On Feb 18, 12:39 pm, Tijs Teulings <[EMAIL PROTECTED]> wrote:
> I was hoping something like allowEmpty would be implemented soon so i could
> really start using 1.2 but, using the latest dev release, i still get 'this
> field cannot be left blank' errors even when i set allowEmpty to true. I
> tried several variants on the example you give but no dice.
>
> Validating non-required fields and integration of custom functions in the
> built in validation would allow me to switch to 1.2 completely. I'll take
> the random API changes for granted when i could do that now.
>
> Tijs
>
>
>
> GreyCells-2 wrote:
>
> > The way it appears to work now (I'm sure nate will correct me if I'm
> > wrong) is to put your error messages in the model. Here is an example
> > of an email validation:
>
> > var $validate = array(
> > 'email_address' => array( array('allowEmpty' => false
> > ,'message' => 'Invalid email address format or unknown
> > domain')
> > , 'rule' => array('email', true)
> > ),
> > );
>
> > Note the 'message' element in the array. It will also display the
> > second argument of $Model->invalidate('field_name', 'My custom
> > message'); if you happen to be doing stuff in $Model->validates()
>
> > Use the $form->input() 'wrapper' and the error messages will be
> > rendered automatically without having to call tagErrorMessage i.e.
> > this is all you need in your view:
>
> > <?php echo $form->input('email_address', array('class' =>
> > 'required'));?>
>
> > On Feb 18, 4:12 am, "gobblez" <[EMAIL PROTECTED]> wrote:
> >> Hello, in the latest 1.2 SVN, I can't get validation to work. Well,
> >> it is working, the empty fields are being flagged as they should be
> >> for not meeting cake's regex constants, but my tagErrorMsg definitions
> >> aren't spitting out their messages.
>
> >> I did a search, and found it on line 1685 of model.php What I did, is
> >> changed 'This field cannot be left blank' to '1'. It works now, but
> >> I'm thinking maybe tagErrorMsg is used differently now.
>
> >> Here is an example of how I've been using it, and it works when a
> >> flagged field is set to '1' instead of that 'this field cannot..."
> >> sentence.
>
> >> echo $html->tagErrorMsg('User/username', '<span class="error">Please
> >> enter a username.</span><br />');
>
> --
> View this message in
> context:http://www.nabble.com/1.2-validation---This-field-cannot-be-left-blan...
> Sent from the CakePHP mailing list archive at Nabble.com.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---