Order validation check and order message error

2008-01-29 Thread Reny

Hi all,
I have question about validation

I have a 'email' text input field, I check in my model that this field
isn't empty and it's unique in my db.

It's work but I'd like that when the first rule is not satisfied it
don't try to check the second rule.

Now it check first rule (if blank it set required), so it check
second rule and it overwrite my first message and it display
unique
myview:
?php echo $form-input('email', array('error' = array(
'required' = 'Please specify a valid email',
'unique' = 'Please insert a unique email'
))); ?

mymodel:
var $validate = array(
'email' = array(
   'required' = VALID_NOT_EMPTY,
   'unique' = array( 'rule' = 'checkUnique', 'email'))
);

function checkUnique($data, $fieldName) {
$valid = false;
if(isset($fieldName[0])  $this-hasField($fieldName[0])) {
$valid = $this-isUnique(array($fieldName[0] = $data));
}
return $valid;
}


thanks all!!!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Order validation check and order message error

2008-01-29 Thread MonkeyGirl

 It's work but I'd like that when the first rule is not satisfied it
 don't try to check the second rule.

Swap the order of the two rules in the model. It checks that they're
satisfied in reverse order.

 Now it check first rule (if blank it set required), so it check
 second rule and it overwrite my first message and it display
 unique

Because your rule's called unique, that's what will display by
default. You can overwrite this in the view.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Order validation check and order message error

2008-01-29 Thread duRqoo

When you use multiple rules per field you can add 'last'=true option
to
desired validation rule. It will force cake to stop validating other
rules for
current field if a rule with that option invalidates.

On 29. Jan, 12:56 h., Reny [EMAIL PROTECTED] wrote:
 Hi all,
 I have question about validation

 I have a 'email' text input field, I check in my model that this field
 isn't empty and it's unique in my db.

 It's work but I'd like that when the first rule is not satisfied it
 don't try to check the second rule.

 Now it check first rule (if blank it set required), so it check
 second rule and it overwrite my first message and it display
 unique
 myview:
 ?php echo $form-input('email', array('error' = array(
 'required' = 'Please specify a valid email',
 'unique' = 'Please insert a unique email'
 ))); ?

 mymodel:
 var $validate = array(
 'email' = array(
'required' = VALID_NOT_EMPTY,
'unique' = array( 'rule' = 'checkUnique', 'email'))
 );

 function checkUnique($data, $fieldName) {
 $valid = false;
 if(isset($fieldName[0])  $this-hasField($fieldName[0])) {
 $valid = $this-isUnique(array($fieldName[0] = $data));
 }
 return $valid;
 }

 thanks all!!!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---