Я бы очень признателен за помощь в этом, это заставило меня с ума сойти. Я пытаюсь проверить числа, представленные формой 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, если это имеет значение.