Home | Symfony2Doc »リファレンスドキュメント »バリデータリファレンス »Luhn

このページのコンテンツ

前のドキュメント

CardScheme

次のドキュメント

Iban

ソース



クイックリンク


コメントリスト

Powered by Disqus

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


ご注意

Symfony2日本語翻訳ドキュメントは内容が古くなっております。公式サイトの英語ドキュメントを参照してください。

Luhn

Note

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

New in version 2.3: この制約はバージョン 2.3 以降で利用可能です。

この制約は、クレジットカード番号が Luhn アルゴリズムをパスすることを保証します。クレジットカード番号に対して、ペイメントゲートウェイに送る前の第 1 段階の検証に役立ちます。

適用先 プロパティまたはメソッド
オプション
クラス Luhn
バリデーター LuhnValidator

基本的な使い方

Luhn バリデーターを使うには、オブジェクトのクレジットカード番号を保持するプロパティに単純に適用します。

  • YAML
    # src/Acme/SubscriptionBundle/Resources/config/validation.yml
    Acme\SubscriptionBundle\Entity\Transaction:
        properties:
            cardNumber:
                - Luhn:
                    message: Please check your credit card number.
    
  • XML
    <!-- src/Acme/SubscriptionBundle/Resources/config/validation.xml -->
    <class name="Acme\SubscriptionBundle\Entity\Transaction">
        <property name="cardNumber">
            <constraint name="Luhn">
                <option name="message">Please check your credit card number.</option>
            </constraint>
        </property>
    </class>
    
  • Annotations
    // src/Acme/SubscriptionBundle/Entity/Transaction.php
    namespace Acme\SubscriptionBundle\Entity\Transaction;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Transaction
    {
        /**
         * @Assert\Luhn(message = "Please check your credit card number.")
         */
        protected $cardNumber;
    }
    
  • PHP
    // src/Acme/SubscriptionBundle/Entity/Transaction.php
    namespace Acme\SubscriptionBundle\Entity\Transaction;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Transaction
    {
        protected $cardNumber;
    
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('cardNumber', new Assert\Luhn(array(
                'message' => 'Please check your credit card number',
            )));
        }
    }
    

利用可能なオプション

message

: string デフォルト: Invalid card number

検証対象の文字列が Luhn チェックをパスしなかった場合に、このメッセージが表示されます。

blog comments powered by Disqus