Is there a way to extend the ModelValidator? I know you can do things like this in the controllers:
public $helpers = array( // Core Helpers 'Session', 'Time', 'Html' => array('className' => 'Utilities.HtmlExt'), 'Paginator' => array('className' => 'Utilities.PaginatorExt'), 'Form' => array('className' => 'Utilities.FormExt' ), ); Is there a way to do this with ModelValidator? My goal is to catch the validation error messages, and the posted data which I can with the callback, afterValidate(). However, it doesn't give me the actual validation name (e.g. 'notEmpty', 'alphaNumeric'), or the particular settings for this validation rule. If I can't extend/overload the class instance, can is there another way to grab the above information without having to look for the message in the settings? I can't rely on the message , because it can change based on how the message failed. Example: class EquipmentDetail extends AppModel { public $validate = array( 'mac_address' => array( 'alphaNumeric' => array( 'rule' => 'alphaNumeric', 'required' => true, 'allowEmpty' => false, 'message' => 'This field is required, and only allows numbers and letters. (you may have a space at the end of the string).', ), 'Rule_MacAddress' => array( 'rule' => 'Rule_MacAddress', 'required' => true, 'allowEmpty' => false, //'on'=> 'create', // 'message' => 'This must be a unique value, there may already be a record with this MAC address.', ), ), ); // .... public function Rule_MacAddress($check) { if(!isset($check['mac_address'])) { return __('The MAC Address isn\'t set.'); } $mac_address = $check['mac_address']; $mac_address = strtoupper(trim($mac_address)); if($mac_address == 'TBD') return true; // check to make sure it's a mac address using the Extractor Behavior $type = $this->EX_discoverType($check['mac_address']); if($type != 'mac') { return __('The given MAC Address isn\'t detected as a valid MAC Address. (0-9, A-F, no : or -)'); } // check to make sure it's unique if(!$exists = $this->findByMacAddress($mac_address)) { return true; } return __('This must be a unique value, there may already be a record with this MAC Address.'); } } -- 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.