Nevermind... I had to modify the add.ctp
Changed:
echo $this->Form->input('ip');
To:
echo $this->Form->input('ip',array('type'=>'text'));
And all is well.
Thanks for listening....
On Thursday, October 2, 2014 5:14:44 PM UTC-4, HalfBaked wrote:
>
> CakePHP 2.5.4
> PHP 5.5.14
> MySQL 5.1.73
>
> I have been searching for a solution to this one for hours. I'm not sure
> what search terms to use to find an answer to this.
> I am trying to accept an IP Address, convert it using the php builtin
> ip2long, and save it in a table.
>
> I have a simple table:
>
> CREATE TABLE ips (
> id CHAR(36) NOT NULL default '',
> ip INT(32) DEFAULT NULL,
> PRIMARY KEY (id)
> );
>
>
> and a simple model:
>
> class Ip extends AppModel {
>
> public $validate = array(
> 'ip' => 'numeric',
> );
>
> public function beforeValidate($options = array()) {
> if (isset($this->data['Ip']['ip'])) { $this->data['Ip']['ip'] =
> ip2long($this->data['Ip']['ip']); };
> return true;
> }
>
> public function afterFind($results, $primary = false) {
>
> foreach ($results as $key => $val) {
> if (isset($val['Ip']['ip'])) { $results[$key]['Ip']['ip'] =
> long2ip($results[$key]['Ip']['ip']); }
> }
> return $results;
> }
>
> }
>
> I baked a standard controller and views for this model, and have made no
> changes to them.
>
> When I enter the IP Address and click Submit, I get a little tooltip popup
> that says "Please enter a number"
>
> I also tried changing my beforeValidate to a beforeSave, and changed the
> validation from 'numeric' to 'ip', but that had the same result...
>
> Now, If I alter my IP field in the table to a VARCHAR, Everything Works
> as it should, including the validation that I have defined in the model.
> The numeric IP value is saved without error in the VARCHAR field.
>
>
> Apparently Cake is doing some kind of validation on the table data type
> Before the functions beforeValidate and beforeSave are run. How do I
> bypass this behavior?
>
> TIA
>
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.