Я бы очень признателен за помощь в этом, это сводило меня с ума.Я пытаюсь проверить числа, представленные в форме 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')
)
);
По какой-то причине с плавающей запятой, например 100.00, генерируется следующее сообщение об ошибке проверки: «100.00» содержит символы, которые не являются цифрами; разрешены только цифры ».Сообщение regexNotMatch или сообщение regexInvalid не сгенерировано, что я и ожидал.
Похоже, что это сообщение об ошибке проверки генерируется средством проверки цифр, которое я не вызываю.
Кроме того, пустые входные данные не генерируют никаких сообщений об ошибках валидации.
Если я пытаюсь использовать строку, подобную 'rt67', мое сообщение regexNotMatch отображается правильно.Я использую компоненты Zend без MVC, если это имеет какое-либо значение.