Re: validation criteria at least 3 fileds are not empty
You are correct. With custom validation methods or with the validation callbacks you can extend the validation process to to more than what it is designed to do. On Tuesday, October 28, 2014 8:06:19 AM UTC+1, Radharadhya Dasa wrote: > > As I understand validation handles only one filed. Am I wrong? > > rrd > > 2014. október 26., vasárnap 19:33:14 UTC+1 időpontban John Andersen a > következőt írta: >> >> Good to see that you are trying to solve this :) >> >> I would still have gone with rolling my own validation, just by extending >> the validator, so it can validate a record also, not only fields. >> >> Anyway, I am not moving to CakePHP 3.x, so will not be able to give >> further ideas on that, but I do hope you find a solution in the end. >> >> Enjoy, John >> >> On Thursday, 23 October 2014 12:12:11 UTC+3, Radharadhya Dasa wrote: >>> >>> I checked to cookbook and find out that validation handles singe fields. >>> So I used beforeSave for this. >>> >>> public function beforeSave(Event $event, Entity $entity, ArrayObject >>> $options){ >>> if((!empty($entity->name) + !empty($entity->contactname) + !empty( >>> $entity->zip_id) >>> + !empty($entity->address) + !empty($entity->phone) + !empty( >>> $entity->email) >>> + !empty($entity->birth->time)) >= 3){ >>> return true; >>> } >>> else{ >>> //Error: __('At least 3 info should be filled'); >>> return false; >>> } >>> } >>> >>> But I have a problem and a question. >>> >>> The above gives me this error message: >>> >>> *Warning* (4096): Argument 1 passed to >>> App\Model\Table\ContactsTable::beforeSave() must be an instance of >>> App\Model\Table\Event, instance of Cake\Event\Event given, called in >>> /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Event/EventManager.php >>> on line 266 and defined [*APP/Model/Table/ContactsTable.php*, line *85*] >>> >>> What is the proper way to do it? >>> >>> The question is how to define an error message what will be flashed to the >>> user? >>> >>> >>> >>> >>> >>> 2014. október 18., szombat 15:41:28 UTC+2 időpontban John Andersen a >>> következőt írta: Assuming you are still using CakePHP 3.0 I have not seen any built-in rules for this kind of validation, so my best guess is to roll your own. See section "Custom Validation Rules" under "Validation" in the CakePHP 3.0 book. That should help you on the way. Enjoy, John On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: > > Hi, > > Is there a way to check if at least 3 fileds are not empty? I have 8 > fileds and any of those could be empty, but at least 3 of them should be > not empty. Is there any build in validation rule, or how to do it? Should > I > do it on beforeSave? > > rrd > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
Re: validation criteria at least 3 fileds are not empty
As I understand validation handles only one filed. Am I wrong? rrd 2014. október 26., vasárnap 19:33:14 UTC+1 időpontban John Andersen a következőt írta: > > Good to see that you are trying to solve this :) > > I would still have gone with rolling my own validation, just by extending > the validator, so it can validate a record also, not only fields. > > Anyway, I am not moving to CakePHP 3.x, so will not be able to give > further ideas on that, but I do hope you find a solution in the end. > > Enjoy, John > > On Thursday, 23 October 2014 12:12:11 UTC+3, Radharadhya Dasa wrote: >> >> I checked to cookbook and find out that validation handles singe fields. >> So I used beforeSave for this. >> >> public function beforeSave(Event $event, Entity $entity, ArrayObject >> $options){ >> if((!empty($entity->name) + !empty($entity->contactname) + !empty( >> $entity->zip_id) >> + !empty($entity->address) + !empty($entity->phone) + !empty( >> $entity->email) >> + !empty($entity->birth->time)) >= 3){ >> return true; >> } >> else{ >> //Error: __('At least 3 info should be filled'); >> return false; >> } >> } >> >> But I have a problem and a question. >> >> The above gives me this error message: >> >> *Warning* (4096): Argument 1 passed to >> App\Model\Table\ContactsTable::beforeSave() must be an instance of >> App\Model\Table\Event, instance of Cake\Event\Event given, called in >> /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Event/EventManager.php >> on line 266 and defined [*APP/Model/Table/ContactsTable.php*, line *85*] >> >> What is the proper way to do it? >> >> The question is how to define an error message what will be flashed to the >> user? >> >> >> >> >> >> 2014. október 18., szombat 15:41:28 UTC+2 időpontban John Andersen a >> következőt írta: >>> >>> Assuming you are still using CakePHP 3.0 >>> >>> I have not seen any built-in rules for this kind of validation, so my >>> best guess is to roll your own. >>> See section "Custom Validation Rules" under "Validation" in the CakePHP >>> 3.0 book. That should help you on the way. >>> >>> Enjoy, John >>> >>> On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: Hi, Is there a way to check if at least 3 fileds are not empty? I have 8 fileds and any of those could be empty, but at least 3 of them should be not empty. Is there any build in validation rule, or how to do it? Should I do it on beforeSave? rrd >>> -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
Re: validation criteria at least 3 fileds are not empty
Good to see that you are trying to solve this :) I would still have gone with rolling my own validation, just by extending the validator, so it can validate a record also, not only fields. Anyway, I am not moving to CakePHP 3.x, so will not be able to give further ideas on that, but I do hope you find a solution in the end. Enjoy, John On Thursday, 23 October 2014 12:12:11 UTC+3, Radharadhya Dasa wrote: > > I checked to cookbook and find out that validation handles singe fields. > So I used beforeSave for this. > > public function beforeSave(Event $event, Entity $entity, ArrayObject > $options){ > if((!empty($entity->name) + !empty($entity->contactname) + !empty( > $entity->zip_id) > + !empty($entity->address) + !empty($entity->phone) + !empty( > $entity->email) > + !empty($entity->birth->time)) >= 3){ > return true; > } > else{ > //Error: __('At least 3 info should be filled'); > return false; > } > } > > But I have a problem and a question. > > The above gives me this error message: > > *Warning* (4096): Argument 1 passed to > App\Model\Table\ContactsTable::beforeSave() must be an instance of > App\Model\Table\Event, instance of Cake\Event\Event given, called in > /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Event/EventManager.php > on line 266 and defined [*APP/Model/Table/ContactsTable.php*, line *85*] > > What is the proper way to do it? > > The question is how to define an error message what will be flashed to the > user? > > > > > > 2014. október 18., szombat 15:41:28 UTC+2 időpontban John Andersen a > következőt írta: >> >> Assuming you are still using CakePHP 3.0 >> >> I have not seen any built-in rules for this kind of validation, so my >> best guess is to roll your own. >> See section "Custom Validation Rules" under "Validation" in the CakePHP >> 3.0 book. That should help you on the way. >> >> Enjoy, John >> >> On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: >>> >>> Hi, >>> >>> Is there a way to check if at least 3 fileds are not empty? I have 8 >>> fileds and any of those could be empty, but at least 3 of them should be >>> not empty. Is there any build in validation rule, or how to do it? Should I >>> do it on beforeSave? >>> >>> rrd >>> >> -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
Re: validation criteria at least 3 fileds are not empty
I went forward. So in the model we need use ArrayObject; use Cake\Event\Event; Adding error message in beforeSave $entity->errors('name', __('At least 2 info should be filled')); In the controller you will find it in $contact = $this->Contacts->newEntity($this->request->data); debug($contact->errors()); But this is not what cake makes its automagic rules... So further digging needed. 2014. október 23., csütörtök 11:12:11 UTC+2 időpontban Radharadhya Dasa a következőt írta: > > I checked to cookbook and find out that validation handles singe fields. > So I used beforeSave for this. > > public function beforeSave(Event $event, Entity $entity, ArrayObject > $options){ > if((!empty($entity->name) + !empty($entity->contactname) + !empty( > $entity->zip_id) > + !empty($entity->address) + !empty($entity->phone) + !empty( > $entity->email) > + !empty($entity->birth->time)) >= 3){ > return true; > } > else{ > //Error: __('At least 3 info should be filled'); > return false; > } > } > > But I have a problem and a question. > > The above gives me this error message: > > *Warning* (4096): Argument 1 passed to > App\Model\Table\ContactsTable::beforeSave() must be an instance of > App\Model\Table\Event, instance of Cake\Event\Event given, called in > /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Event/EventManager.php > on line 266 and defined [*APP/Model/Table/ContactsTable.php*, line *85*] > > What is the proper way to do it? > > The question is how to define an error message what will be flashed to the > user? > > > > > > 2014. október 18., szombat 15:41:28 UTC+2 időpontban John Andersen a > következőt írta: >> >> Assuming you are still using CakePHP 3.0 >> >> I have not seen any built-in rules for this kind of validation, so my >> best guess is to roll your own. >> See section "Custom Validation Rules" under "Validation" in the CakePHP >> 3.0 book. That should help you on the way. >> >> Enjoy, John >> >> On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: >>> >>> Hi, >>> >>> Is there a way to check if at least 3 fileds are not empty? I have 8 >>> fileds and any of those could be empty, but at least 3 of them should be >>> not empty. Is there any build in validation rule, or how to do it? Should I >>> do it on beforeSave? >>> >>> rrd >>> >> -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
Re: validation criteria at least 3 fileds are not empty
I checked to cookbook and find out that validation handles singe fields. So I used beforeSave for this. public function beforeSave(Event $event, Entity $entity, ArrayObject $options){ if((!empty($entity->name) + !empty($entity->contactname) + !empty( $entity->zip_id) + !empty($entity->address) + !empty($entity->phone) + !empty( $entity->email) + !empty($entity->birth->time)) >= 3){ return true; } else{ //Error: __('At least 3 info should be filled'); return false; } } But I have a problem and a question. The above gives me this error message: *Warning* (4096): Argument 1 passed to App\Model\Table\ContactsTable::beforeSave() must be an instance of App\Model\Table\Event, instance of Cake\Event\Event given, called in /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Event/EventManager.php on line 266 and defined [*APP/Model/Table/ContactsTable.php*, line *85*] What is the proper way to do it? The question is how to define an error message what will be flashed to the user? 2014. október 18., szombat 15:41:28 UTC+2 időpontban John Andersen a következőt írta: > > Assuming you are still using CakePHP 3.0 > > I have not seen any built-in rules for this kind of validation, so my best > guess is to roll your own. > See section "Custom Validation Rules" under "Validation" in the CakePHP > 3.0 book. That should help you on the way. > > Enjoy, John > > On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: >> >> Hi, >> >> Is there a way to check if at least 3 fileds are not empty? I have 8 >> fileds and any of those could be empty, but at least 3 of them should be >> not empty. Is there any build in validation rule, or how to do it? Should I >> do it on beforeSave? >> >> rrd >> > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
Re: validation criteria at least 3 fileds are not empty
Assuming you are still using CakePHP 3.0 I have not seen any built-in rules for this kind of validation, so my best guess is to roll your own. See section "Custom Validation Rules" under "Validation" in the CakePHP 3.0 book. That should help you on the way. Enjoy, John On Saturday, 18 October 2014 16:21:57 UTC+3, Radharadhya Dasa wrote: > > Hi, > > Is there a way to check if at least 3 fileds are not empty? I have 8 > fileds and any of those could be empty, but at least 3 of them should be > not empty. Is there any build in validation rule, or how to do it? Should I > do it on beforeSave? > > rrd > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.
validation criteria at least 3 fileds are not empty
Hi, Is there a way to check if at least 3 fileds are not empty? I have 8 fileds and any of those could be empty, but at least 3 of them should be not empty. Is there any build in validation rule, or how to do it? Should I do it on beforeSave? rrd -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.