Я не могу видеть, что я могу делать неправильно со следующей проверкой формы Symfony 1.4. В принципе, все, что я просто хочу, - это учитывать все четыре условия (требуется, минимальная длина, максимальная длина, регулярное выражение). Он фактически РАБОТАЕТ, но для «обязательного» условия он не отображает мое пользовательское сообщение об ошибке и вместо этого просто говорит «Требуется». Есть ли способ получить сообщение об ошибке MY?Проблема с подтверждением формы Symfony
'username' => new sfValidatorAnd(array(
new sfValidatorString(
array('required' => true, 'min_length' => 4, 'max_length' => 20),
array('required' => 'Please enter a username.', 'min_length' => 'Your username must have at least 4 characters.', 'max_length' => 'Your username cannot be longer than 20 characters.')
),
new sfValidatorRegex(
array('pattern' => '/^[A-z0-9]*$/i'),
array('invalid' => 'Your username can only have letters (A-Z) or numbers (0-9).')
),
)),
Еще одна вещь, если я удалю валидатор Regex и просто превратить его в обычный однострочного Струнный валидатор, мое собственное сообщение об ошибке действительно показывает !?
Кто-нибудь?
Заранее спасибо.
Darmen, спасибо большое! Получил это работать с вашим решением после того, как потратил слишком много времени, пытаясь понять это. Ваш код выше дал мне ошибку, поэтому я заменил «NULL» на «array()», который очищает ошибку ... что также означает, что первое обязательное предложение в sfValidatorString может быть удалено. Еще раз спасибо. – Tom
@ Тома, пожалуйста. Я исправил ответ для пользователей, у которых будет такая же проблема в будущем. – Darmen
Не уверен, что вы сделали это намеренно, но [A-z0-9] будет соответствовать символам, которые вам, вероятно, не нужны (между 'Z' и 'a' are '[', '\', ']', '^ ',' _ '). Случайно пробовал один из них и удивился. – Tool