возникают проблемы с регулярным выражением zend validator для числа – целое или необязательное значение float

Я бы очень признателен за помощь в этом, это заставило меня с ума сойти. Я пытаюсь проверить числа, представленные формой zend, либо в виде целых чисел или десятичных знаков (2 десятичных разряда), допускающих 0 или 0.00, но не пустых входов.

$form->element->addValidator ('regex', false, array( 'pattern'=>'/^\d+(\d{1,5})?(\.\d{1,2})?$/', 'messages'=>array( 'regexInvalid'=>'required', 'regexNotMatch'=>'number required') ) ); 

По какой-то причине float вроде 100.00 генерирует следующее сообщение об ошибке проверки: «100,00» содержит символы, которые не являются цифрами, но допускаются только цифры ». Сообщение regexNotMatch или сообщение regexInvalid не генерируются, что я ожидаю.

Это сообщение об ошибке проверки, похоже, генерируется валидатором цифр, который я не звоню, есть ли что-то, что я могу сделать, чтобы остановить его?

Также пустые входы не генерируют сообщений об ошибках проверки.

Если я попробую строку типа «rt67», мое сообщение regexNotMatch будет отображаться правильно.

Я использую компоненты zend без mvc, если это имеет значение.