Range

Note

  • 対象バージョン:2.3
  • 翻訳更新日:2013/6/9

検証対象の数値が、指定した最大値と最小値の間にあることを検証します。

適用先 プロパティまたはメソッド
オプション
クラス Symfony\Component\Validator\Constraints\Range
バリデーター Symfony\Component\Validator\Constraints\RangeValidator

基本的な使い方

クラスのh height``フィールドの値が ``120180 の間であることを保証するには、次のようにします。

  • YAML
    # src/Acme/EventBundle/Resources/config/validation.yml
    Acme\EventBundle\Entity\Participant:
        properties:
            height:
                - Range:
                    min: 120
                    max: 180
                    minMessage: You must be at least 120cm tall to enter
                    maxMessage: You cannot be taller than 180cm to enter
    
  • Annotations
    // src/Acme/EventBundle/Entity/Participant.php
    namespace Acme\EventBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Participant
    {
        /**
         * @Assert\Range(
         *      min = 120,
         *      max = 180,
         *      minMessage = "You must be at least 120cm tall to enter",
         *      maxMessage = "You cannot be taller than 180cm to enter"
         * )
         */
         protected $height;
    }
    
  • XML
    <!-- src/Acme/EventBundle/Resources/config/validation.xml -->
    <class name="Acme\EventBundle\Entity\Participant">
        <property name="height">
            <constraint name="Range">
                <option name="min">120</option>
                <option name="max">180</option>
                <option name="minMessage">You must be at least 120cm tall to enter</option>
                <option name="maxMessage">You cannot be taller than 180cm to enter</option>
            </constraint>
        </property>
    </class>
    
  • PHP
    // src/Acme/EventBundle/Entity/Participant.php
    namespace Acme\EventBundle\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Participant
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('height', new Assert\Range(array(
                'min'        => 120,
                'max'        => 180,
                'minMessage' => 'You must be at least 120cm tall to enter',
                'maxMessage' => 'You cannot be taller than 180cm to enter',
            )));
        }
    }
    

オプション

min

: integer [default option]

このオプションは必須で、有効範囲の最小値を指定します。検証対象の値がこの値よりも小さい場合、検証は失敗します。

max

: integer [default option]

このオプションは必須で、有効範囲の最大値を指定します。検証対象の値がこの値より大きい場合、検証は失敗します。

minMessage

: string デフォルト: This value should be {{ limit }} or more.

検証対象の値が min オプションで指定した値より小さい場合に、このメッセージが表示されます。

maxMessage

: string デフォルト: This value should be {{ limit }} or less.

検証対象の値が max オプションで指定した値より大きい場合に、このメッセージが表示されます。

invalidMessage

: string デフォルト: This value should be a valid number.

検証対象の値が数値ではない場合に、このメッセージが表示されます。数値かどうかは is_numeric PHP 関数でチェックされます。

このページのコンテンツ

前のドキュメント

Ip

次のドキュメント

EqualTo

ソース



クイックリンク

コメントリスト


ご質問や翻訳不備等お気軽にコメントください。


現在、翻訳が古くなっている箇所が多くあります。1箇所、1行などほんの少量でもかまいませんので、ドキュメント翻訳にご協力いただける方を募集しています。日本 Symfony ユーザー会メーリングリストまでご連絡ください。