Использование порядка регулярных выражений для предотвращения нуля
В своем классе Entity запишите приведенную ниже функцию переопределения и укажите свойство, которое необходимо проверить.
Приведенный ниже пример предназначен для проверки пин-кода, здесь, в поле пин-кода, я допускаю только комбинации чисел от 0-9 до 10 цифр.
"^ \ d + $" это регулярное выражение, которое я использовал для предотвращения других символов.
Для переопределения этой функции вы должны включить следующие классы
use Symfony\Component\Validator\Mapping\ClassMetadata;// for overriding function loadValidatorMetadata()
use Symfony\Component\Validator\Constraints\NotBlank;// for notblank constrain
use Symfony\Component\Validator\Constraints\Email;//for email constrain
use Symfony\Component\Validator\Constraints\MinLength;// for minimum length
use Symfony\Component\Validator\Constraints\MaxLength; // for maximum length
use Symfony\Component\Validator\Constraints\Choice; // for choice fields
use Symfony\Component\Validator\Constraints\Regex; // for regular expression
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('pincode', new NotBlank(array('message' => 'Does not blank')));
$metadata->addPropertyConstraint('pincode', new Regex(array('pattern'=>'/^\d+$/','message' => 'must be number')));
$metadata->addPropertyConstraint('pincode', new MaxLength(array('limit'=>'6','message' => 'must maximum 6 digits')));
$metadata->addPropertyConstraint('pincode', new MinLength(array('limit'=>'6','message' => 'must minimum 6 digits')));
}
Не забывайте, все это должно
входит в ваш класс сущностей
что вы должны подтвердить. Так что в вашем случае используйте правильное регулярное выражение, которое не допускает '0'.
Счастливое кодирование