Hmmm thanks for that code you've given me something to think about.

Would I implement that in my model and the call it before my save in the 
controller?

On Tuesday, 11 March 2014 19:44:14 UTC+11, AD7six wrote:
>
> If regular expressions aren't your thing - don't use regular expressions =)
>
> e.g. write a validation function like so:
>
>     function validateTime($check) {
>         $string = current($check);
>         list($mins, $seconds) = expode(':', $string);
>
>         $validMins = is_numeric($mins);
>         $validSeconds = is_numeric($seconds) && ($seconds < 60);
>
>         return $validMins && $validSeconds;
>     }
>
> Alternatively since a regex is not cakephp specific - ask in an 
> appropriate place (stack overflow) with appropriate context i.e. "how can I 
> check that a string matches the format xx:yy where <it's time>?" Or - check 
> for existing questions asking exactly that, like this one: 
> http://stackoverflow.com/questions/3964972/validate-this-format-hhmm and 
> modify to your needs
>
> AD
>
>
> On Tuesday, 11 March 2014 05:03:28 UTC+1, Justin Atack wrote:
>>
>> Anybody?
>>
>> On Friday, 7 March 2014 22:14:03 UTC+11, Justin Atack wrote:
>>>
>>> Hi All,
>>>
>>> I need to validate a field that will store a time instance MM:SS e.g. 
>>> 04:32 would represent 4 minutes and 32 seconds.
>>>
>>> I have created the code in my model to validate the time field but I 
>>> really don't know much about regex. Here are a few that work ok...
>>>
>>> /([0-9]\d|60):([0-9]\d|60)/
>>>
>>> ^([0-5]?[0-9]):([0-5]?[0-9])^
>>>
>>> but neither causes an error if the time is 99:99. This is ok for the MM 
>>> part as 99 minutes is valid but the SS part should only ever have a max of 
>>> 59 (seconds).
>>>
>>> I hope that makes sense!
>>>
>>> This is the code in my model this far
>>>
>>> 'time' => array(
>>> 'custom' => array(
>>> 'rule' => array('custom', '/([0-9]\d|60):([0-9]\d|60)/'), //MM:SS
>>> //'rule' => array('custom', '^([0-5]?[0-9]):([0-5]?[0-9])^'), //MM:SS
>>> 'message' => 'Time must be entered as MM:SS. e.g. 04:32 representing 4 
>>> minutes and 32 seconds.',
>>> 'allowEmpty' => true,
>>> //'required' => false,
>>> //'last' => false, // Stop validation after this rule
>>> //'on' => 'create', // Limit validation to 'create' or 'update' 
>>> operations
>>> ),
>>> 'maxLength' => array(
>>> 'rule' => array('maxLength', '5'),
>>> 'message' => 'Maximum length of time input is five characters. e.g. 
>>> MM:SS',
>>> //'allowEmpty' => true,
>>> //'required' => false,
>>> //'last' => false, // Stop validation after this rule
>>> //'on' => 'create', // Limit validation to 'create' or 'update' 
>>> operations
>>> ), 
>>> ),
>>> );
>>>
>>

-- 
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.

Reply via email to