IsFalse

Валидирует, что значение - false. В особенности проверяет, точно ли значение - false, точно ли число - 0, или точно ли строка - "0".

Также смотрите IsTrue.

Применяется к свойству или методу
Опции
Класс IsFalse
Валидатор IsFalseValidator

Базовое применение

Ограничение IsFalse может быть применено к свойству или геттер-методу, но наиболее часто используется в последнем случае. Например, представьте, что вы хотите гарантировать, что некоторое свойство state не является динамичным массивом invalidStates. Для начала, вы создадите геттер-метод:

1
2
3
4
5
6
7
8
protected $state;

protected $invalidStates = array();

public function isStateInvalid()
{
    return in_array($this->state, $this->invalidStates);
}

В этом случае, основоположный объект валиден только, если isStateInvalid() возвращает false:

  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    // src/Entity/Author.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        /**
         * @Assert\IsFalse(
         *     message = "You've entered an invalid state."
         * )
         */
         public function isStateInvalid()
         {
            // ...
         }
    }
    
  • YAML
    1
    2
    3
    4
    5
    6
    # config/validator/validation.yaml
    App\Entity\Author:
        getters:
            stateInvalid:
                - 'IsFalse':
                    message: You've entered an invalid state.
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    <!-- 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 http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
    
        <class name="App\Entity\Author">
            <getter property="stateInvalid">
                <constraint name="IsFalse">
                    <option name="message">You've entered an invalid state.</option>
                </constraint>
            </getter>
        </class>
    </constraint-mapping>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // src/Entity/Author.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addGetterConstraint('stateInvalid', new Assert\IsFalse());
        }
    }
    

Опции

message

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

Это сообщение отображается, если основоположные данные не "false".

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.