To anyone reading this, I've solved this problem myself.
It appears that the rules in the a multiple validation rule are read
from BOTTOM to TOP!
Hence if I arrange my multiple rules in the table like so, I get the
VALID_NOT_EMPTY rule tripping the validation mechanism before the
other rules.
'username' => array(
// needs to be at least 4 chars long
'minrule' => array(
'rule' => array('minLength', 4),
'required' => true,
'allowEmpty' => false,
'message' => 'Your Username must be at least 4
characters
long.'
),
// must be alphanumeric
'alphanumeric' => array(
'rule' => 'alphaNumeric',
'message' => 'Only alphabets and numbers allowed.'
),
// must be a unique name
'unique' => array(
'rule' => 'isUnique',
'message' => 'This username has already been taken.'
),
// needs to be at least 4 chars long
'notempty' => array(
'rule' => VALID_NOT_EMPTY,
'message' => 'Username Can not be Empty.'
),
),
Thanks,
August
On Jul 16, 8:56 am, august <[EMAIL PROTECTED]> wrote:
> Hello
>
> I'm trying to create a user registration form. I'm having a few weird
> problems with this, mostly having to do with the validation rules in
> the model.
>
> One basic problem is detecting a simple blank field. This was so easy
> in 1.1, but I can't (for the life of me) figure out how this is done
> in 1.2. The 'minLength' rule only seems to invalidate the field when
> there is a actual text in the field, and not when it is blank..
>
> Here are the rules for my username field in my User model for example:
>
> var $validate = array(
>
> // username field
> 'username' => array(
>
> // needs to be at least 4 chars long
> 'minrule' => array(
> 'rule' => array('minLength', 4),
> 'required' => true,
> 'allowEmpty' => false,
> 'message' => 'Your Username must be at least
> 4 characters
> long.'
> ),
>
> // must be alphanumeric
> 'alphanumeric' => array(
> 'rule' => 'alphaNumeric',
> 'message' => 'Only alphabets and numbers allowed.'
> ),
>
> // must be a unique name
> 'unique' => array(
> 'rule' => 'isUnique',
> 'message' => 'This username has already been taken.'
> ),
>
> ),
>
> ....
>
> )
>
> When I test this code, however, a blank field trips the 'alphanumeric'
> rule instead of minLength - generating the wrong message.
>
> If I enter only the letter "a" in the username field, the field is
> invalidated.
>
> Is this a bug?
>
> Thanks,
>
> August
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---