Дата обновления перевода 2021-09-29

Positive

Валидирует, что значение является положительным числом. Ноль не является положительным или отрицательным, поэтому вы должны использовать PositiveOrZero, если хотите разрешить ноль в качестве значения.

Применяется свойство или метод
к опциям
Класс Positive
Валидатор GreaterThanValidator

Базовое использование

Следующее ограничение гарантирует, что income в Employee является положительным числом (больше нуля):

  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // src/Entity/Employee.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Employee
    {
        /**
         * @Assert\Positive
         */
        protected $income;
    }
    
  • Attributes
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    // src/Entity/Employee.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Employee
    {
        #[Assert\Positive]
        protected $income;
    }
    
  • YAML
    1
    2
    3
    4
    5
    # config/validator/validation.yaml
    App\Entity\Employee:
        properties:
            income:
                - Positive: ~
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    <!-- config/validator/validation.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
    
        <class name="App\Entity\Employee">
            <property name="income">
                <constraint name="Positive"></constraint>
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    // src/Entity/Employee.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    
    
    class Employee
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('income', new Assert\Positive());
        }
    }
    

Доступные опции

groups

type: array | string

It defines the validation group or groups this constraint belongs to. Read more about validation groups.

message

тип: string по умолчанию: Это значение должно быть положительным.

Сообщение отображаемое по умолчанию, если значение не больше, чем ноль.

Вы можете использовать следующие параметры в этом сообщении:

Параметр Описание
{{ compared_value }} Всегда ноль
{{ compared_value_type }} Ожидаемый тип значения
{{ value }} Текущее значение (invalid)

payload

type: mixed default: null

This option can be used to attach arbitrary domain-specific data to a constraint. The configured payload is not used by the Validator component, but its processing is completely up to you.

For example, you may want to use several error levels to present failed constraints differently in the front-end depending on the severity of the error.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.