Nuevo en la versión 2.2: La validación CardScheme es nueva en Symfony 2.2.
Esta restricción garantiza que un número de tarjeta de crédito es válido para una determinada compañía de tarjetas de crédito. La puedes usar para validar el número antes de intentar iniciar un pago a través de una pasarela de pago.
Aplica a | propiedad o método |
Opciones | |
Clase | Symfony\Component\Validator\Constraints\CardScheme |
Validador | Symfony\Component\Validator\Constraints\CardSchemeValidator |
Para utilizar el validador CardScheme, sencillamente aplícalo a una propiedad o método en un objeto que contenga un número de tarjeta de crédito.
# src/Acme/SubscriptionBundle/Resources/config/validation.yml
Acme\SubscriptionBundle\Entity\Transaction:
properties:
cardNumber:
- CardScheme:
schemes: [VISA]
message: El número de tu tarjeta de crédito no es válido.
<!-- src/Acme/SubscriptionBundle/Resources/config/validation.xml -->
<class name="Acme\SubscriptionBundle\Entity\Transaction">
<property name="cardNumber">
<constraint name="CardScheme">
<option name="schemes">
<value>VISA</value>
</option>
<option name="message">El número de tu tarjeta de crédito no es válido.</option>
</constraint>
</property>
</class>
// src/Acme/SubscriptionBundle/Entity/Transaction.php
use Symfony\Component\Validator\Constraints as Assert;
class Transaction
{
/**
* @Assert\CardScheme(schemes = {"VISA"}, message = "El número de tu tarjeta de crédito no es válido.")
*/
protected $cardNumber;
}
// src/Acme/SubscriptionBundle/Entity/Transaction.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\CardScheme;
class Transaction
{
protected $cardNumber;
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('cardSchema', new CardScheme(array(
'schemes' => array(
'VISA'
),
'message' => 'El número de tu tarjeta de crédito no es válido.',
)));
}
}
tipo: mixed [opción default]
Esta opción es obligatoria y representa el nombre del número de esquema utilizado para validar el número de la tarjeta de crédito, este puede ser una cadena o un arreglo. Los valores válidos son:
Para más información sobre los esquemas utilizados, ve Wikipedia: Número de identificación del emisor (IIN por «Issuer identification number»).
tipo: string predefinido: Unsupported card type or invalid card number (Tipo de tarjeta no compatible o número de tarjeta nulo)
El mensaje mostrado cuándo el valor no pasa la comprobación del CardScheme.