Class Phalcon\Validation
Código fuente en GitHub
Namespace |
Phalcon |
|
Uses |
Phalcon\Di\DiInterface, Phalcon\Di\Injectable, Phalcon\Filter\FilterInterface, Phalcon\Messages\MessageInterface, Phalcon\Messages\Messages, Phalcon\Validation\ValidationInterface, Phalcon\Validation\Exception, Phalcon\Validation\ValidatorInterface, Phalcon\Validation\AbstractCombinedFieldsValidator |
|
Extends |
Injectable |
|
Implements |
ValidationInterface |
Permite validar datos usando validadores personalizados o integrados
Propiedades
//
protected combinedFieldsValidators;
//
protected data;
//
protected entity;
//
protected filters;
//
protected labels;
//
protected messages;
//
protected validators;
//
protected values;
Métodos
public function __construct( array $validators = [] );
Constructor Phalcon\Validation
public function add( mixed $field, ValidatorInterface $validator ): ValidationInterface;
Añade un validador a un campo
public function appendMessage( MessageInterface $message ): ValidationInterface;
Añade un mensaje a la lista de mensajes
public function bind( mixed $entity, mixed $data ): ValidationInterface;
Asigna los datos a una entidad Se usa la entidad para obtener los valores de validación
public function getData()
public function getEntity(): mixed;
Devuelve la entidad enlazada
public function getFilters( string $field = null ): mixed | null;
Devuelve todos los filtros o uno específico
public function getLabel( mixed $field ): string;
Obtiene la etiqueta de un campo
public function getMessages(): Messages;
Devuelve los validadores registrados
public function getValidators(): array;
Devuelve los validadores añadidos a la validación
public function getValue( string $field ): mixed | null;
Obtiene un valor a validar en la fuente de datos vector/objeto
public function rule( mixed $field, ValidatorInterface $validator ): ValidationInterface;
Alias del método add
public function rules( mixed $field, array $validators ): ValidationInterface;
Añade los validadores a un campo
public function setEntity( mixed $entity ): void;
Establece la entidad enlazada
public function setFilters( mixed $field, mixed $filters ): ValidationInterface;
Añade filtros al campo
public function setLabels( array $labels ): void;
Añade etiquetas a los campos
public function setValidators( $validators )
public function validate( mixed $data = null, mixed $entity = null ): Messages;
Valida un conjunto de datos según un conjunto de reglas
protected function preChecking( mixed $field, ValidatorInterface $validator ): bool;
Validaciones internas, que si devuelven verdadero, entonces omiten el validador actual
Abstract Class Phalcon\Validation\AbstractCombinedFieldsValidator
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Extends |
AbstractValidator |
Esta es una clase base para validadores de campos combinados
Abstract Class Phalcon\Validation\AbstractValidator
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Helper\Arr, Phalcon\Messages\Message, Phalcon\Validation |
|
Implements |
ValidatorInterface |
Esta es una clase base para validadores
Propiedades
/**
* Message template
*
* @var string|null
*/
protected template;
/**
* Message templates
*
* @var array
*/
protected templates;
//
protected options;
Métodos
public function __construct( array $options = [] );
Constructor Phalcon\Validation\Validator
public function getOption( string $key, mixed $defaultValue = null ): mixed;
Devuelve una opción en las opciones del validador. Devuelve null si la opción no ha sido configurada
public function getTemplate( string $field = null ): string;
Obtiene el mensaje plantilla
public function getTemplates(): array;
Obtiene el objeto colección de plantillas
public function hasOption( string $key ): bool;
Comprueba si una opción está definida
public function messageFactory( Validation $validation, mixed $field, array $replacements = [] ): Message;
Crear un mensaje predeterminado por factoría
public function setOption( string $key, mixed $value ): void;
Configura una opción en el validador
public function setTemplate( string $template ): ValidatorInterface;
Establece un nuevo mensaje de plantilla
public function setTemplates( array $templates ): ValidatorInterface;
Limpia las plantillas actuales y establece nuevas desde un vector,
abstract public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
protected function prepareCode( string $field ): int | null;
Prepara un código de validación.
protected function prepareLabel( Validation $validation, string $field ): mixed;
Prepara una etiqueta para el campo.
Abstract Class Phalcon\Validation\AbstractValidatorComposite
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Validation |
|
Extends |
AbstractValidator |
|
Implements |
ValidatorCompositeInterface |
Esta es una clase base para validadores de campos combinados
Propiedades
/**
* @var array
*/
protected validators;
Métodos
public function getValidators(): array
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Exception
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Extends |
\Phalcon\Exception |
Las excepciones lanzadas en las clases Phalcon\Validation* usarán esta clase
Interface Phalcon\Validation\ValidationInterface
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Di\Injectable, Phalcon\Messages\MessageInterface, Phalcon\Messages\Messages |
Interfaz para el componente Phalcon\Validation
Métodos
public function add( string $field, ValidatorInterface $validator ): ValidationInterface;
Añade un validador a un campo
public function appendMessage( MessageInterface $message ): ValidationInterface;
Añade un mensaje a la lista de mensajes
public function bind( mixed $entity, mixed $data ): ValidationInterface;
Asigna los datos a una entidad Se usa la entidad para obtener los valores de validación
public function getEntity(): mixed;
Devuelve la entidad enlazada
public function getFilters( string $field = null ): mixed | null;
Devuelve todos los filtros o uno específico
public function getLabel( string $field ): string;
Obtiene la etiqueta de un campo
public function getMessages(): Messages;
Devuelve los validadores registrados
public function getValidators(): array;
Devuelve los validadores añadidos a la validación
public function getValue( string $field ): mixed | null;
Obtiene un valor a validar en la fuente de datos vector/objeto
public function rule( string $field, ValidatorInterface $validator ): ValidationInterface;
Alias del método add
public function rules( string $field, array $validators ): ValidationInterface;
Añade los validadores a un campo
public function setFilters( string $field, mixed $filters ): ValidationInterface;
Añade filtros al campo
public function setLabels( array $labels ): void;
Añade etiquetas a los campos
public function validate( mixed $data = null, mixed $entity = null ): Messages;
Valida un conjunto de datos según un conjunto de reglas
Class Phalcon\Validation\Validator\Alnum
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprobar caracter(es) alfanumérico(s)
use Phalcon\Validation;
use Phalcon\Validation\Validator\Alnum as AlnumValidator;
$validator = new Validation();
$validator->add(
"username",
new AlnumValidator(
[
"message" => ":field must contain only alphanumeric characters",
]
)
);
$validator->add(
[
"username",
"name",
],
new AlnumValidator(
[
"message" => [
"username" => "username must contain only alphanumeric characters",
"name" => "name must contain only alphanumeric characters",
],
]
)
);
Propiedades
//
protected template = Field :field must contain only letters and numbers;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Alpha
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Verifica uno o varios caracteres alfabéticos
use Phalcon\Validation;
use Phalcon\Validation\Validator\Alpha as AlphaValidator;
$validator = new Validation();
$validator->add(
"username",
new AlphaValidator(
[
"message" => ":field must contain only letters",
]
)
);
$validator->add(
[
"username",
"name",
],
new AlphaValidator(
[
"message" => [
"username" => "username must contain only letters",
"name" => "name must contain only letters",
],
]
)
);
Propiedades
//
protected template = Field :field must contain only letters;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Between
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Valida que un valor está entre un rango inclusivo de dos valores. For a value x, the test is passed if minimum<=x<=maximum.
use Phalcon\Validation;
use Phalcon\Validation\Validator\Between;
$validator = new Validation();
$validator->add(
"price",
new Between(
[
"minimum" => 0,
"maximum" => 100,
"message" => "The price must be between 0 and 100",
]
)
);
$validator->add(
[
"price",
"amount",
],
new Between(
[
"minimum" => [
"price" => 0,
"amount" => 0,
],
"maximum" => [
"price" => 100,
"amount" => 50,
],
"message" => [
"price" => "The price must be between 0 and 100",
"amount" => "The amount must be between 0 and 50",
],
]
)
);
Propiedades
//
protected template = Field :field must be within the range of :min to :max;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Callback
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\ValidatorInterface, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Llama a la función del usuario para la validación
use Phalcon\Validation;
use Phalcon\Validation\Validator\Callback as CallbackValidator;
use Phalcon\Validation\Validator\Numericality as NumericalityValidator;
$validator = new Validation();
$validator->add(
["user", "admin"],
new CallbackValidator(
[
"message" => "There must be only an user or admin set",
"callback" => function($data) {
if (!empty($data->getUser()) && !empty($data->getAdmin())) {
return false;
}
return true;
}
]
)
);
$validator->add(
"amount",
new CallbackValidator(
[
"callback" => function($data) {
if (!empty($data->getProduct())) {
return new NumericalityValidator(
[
"message" => "Amount must be a number."
]
);
}
}
]
)
);
Propiedades
//
protected template = Field :field must match the callback function;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Confirmation
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Exception, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprueba si dos valores tienen el mismo valor
use Phalcon\Validation;
use Phalcon\Validation\Validator\Confirmation;
$validator = new Validation();
$validator->add(
"password",
new Confirmation(
[
"message" => "Password doesn't match confirmation",
"with" => "confirmPassword",
]
)
);
$validator->add(
[
"password",
"email",
],
new Confirmation(
[
"message" => [
"password" => "Password doesn't match confirmation",
"email" => "Email doesn't match confirmation",
],
"with" => [
"password" => "confirmPassword",
"email" => "confirmEmail",
],
]
)
);
Propiedades
//
protected template = Field :field must be the same as :with;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
final protected function compare( string $a, string $b ): bool;
Comparar cadenas
Class Phalcon\Validation\Validator\CreditCard
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprueba si un valor tiene un número de tarjeta de crédito válido
use Phalcon\Validation;
use Phalcon\Validation\Validator\CreditCard as CreditCardValidator;
$validator = new Validation();
$validator->add(
"creditCard",
new CreditCardValidator(
[
"message" => "The credit card number is not valid",
]
)
);
$validator->add(
[
"creditCard",
"secondCreditCard",
],
new CreditCardValidator(
[
"message" => [
"creditCard" => "The credit card number is not valid",
"secondCreditCard" => "The second credit card number is not valid",
],
]
)
);
Propiedades
//
protected template = Field :field is not valid for a credit card number;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Date
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
DateTime, Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Verifica si un valor es una fecha válida
use Phalcon\Validation;
use Phalcon\Validation\Validator\Date as DateValidator;
$validator = new Validation();
$validator->add(
"date",
new DateValidator(
[
"format" => "d-m-Y",
"message" => "The date is invalid",
]
)
);
$validator->add(
[
"date",
"anotherDate",
],
new DateValidator(
[
"format" => [
"date" => "d-m-Y",
"anotherDate" => "Y-m-d",
],
"message" => [
"date" => "The date is invalid",
"anotherDate" => "The another date is invalid",
],
]
)
);
Propiedades
//
protected template = Field :field is not a valid date;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Digit
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprueba caracter(es) numérico(s)
use Phalcon\Validation;
use Phalcon\Validation\Validator\Digit as DigitValidator;
$validator = new Validation();
$validator->add(
"height",
new DigitValidator(
[
"message" => ":field must be numeric",
]
)
);
$validator->add(
[
"height",
"width",
],
new DigitValidator(
[
"message" => [
"height" => "height must be numeric",
"width" => "width must be numeric",
],
]
)
);
Propiedades
//
protected template = Field :field must be numeric;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Email
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Verifica si un valor tiene un formato de correo electrónico correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\Email as EmailValidator;
$validator = new Validation();
$validator->add(
"email",
new EmailValidator(
[
"message" => "The e-mail is not valid",
]
)
);
$validator->add(
[
"email",
"anotherEmail",
],
new EmailValidator(
[
"message" => [
"email" => "The e-mail is not valid",
"anotherEmail" => "The another e-mail is not valid",
],
]
)
);
Propiedades
//
protected template = Field :field must be an email address;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Exception
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Extends |
\Phalcon\Exception |
Las excepciones lanzadas en las clases Phalcon\Validation\Validator* usarán esta clase
Class Phalcon\Validation\Validator\ExclusionIn
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator, Phalcon\Validation\Exception |
|
Extends |
AbstractValidator |
Comprueba si un valor no está incluido en una lista de valores
use Phalcon\Validation;
use Phalcon\Validation\Validator\ExclusionIn;
$validator = new Validation();
$validator->add(
"status",
new ExclusionIn(
[
"message" => "The status must not be A or B",
"domain" => [
"A",
"B",
],
]
)
);
$validator->add(
[
"status",
"type",
],
new ExclusionIn(
[
"message" => [
"status" => "The status must not be A or B",
"type" => "The type must not be 1 or "
],
"domain" => [
"status" => [
"A",
"B",
],
"type" => [1, 2],
],
]
)
);
Propiedades
//
protected template = Field :field must not be a part of list: :domain;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Helper\Arr, Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidatorComposite, Phalcon\Validation\Validator\File\MimeType, Phalcon\Validation\Validator\File\Resolution\Equal, Phalcon\Validation\Validator\File\Resolution\Max, Phalcon\Validation\Validator\File\Resolution\Min, Phalcon\Validation\Validator\File\Size\Equal, Phalcon\Validation\Validator\File\Size\Max, Phalcon\Validation\Validator\File\Size\Min |
|
Extends |
AbstractValidatorComposite |
Verifica si un valor tiene un archivo correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File as FileValidator;
$validator = new Validation();
$validator->add(
"file",
new FileValidator(
[
"maxSize" => "2M",
"messageSize" => ":field exceeds the max file size (:size)",
"allowedTypes" => [
"image/jpeg",
"image/png",
],
"messageType" => "Allowed file types are :types",
"maxResolution" => "800x600",
"messageMaxResolution" => "Max resolution of :field is :resolution",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new FileValidator(
[
"maxSize" => [
"file" => "2M",
"anotherFile" => "4M",
],
"messageSize" => [
"file" => "file exceeds the max file size 2M",
"anotherFile" => "anotherFile exceeds the max file size 4M",
"allowedTypes" => [
"file" => [
"image/jpeg",
"image/png",
],
"anotherFile" => [
"image/gif",
"image/bmp",
],
],
"messageType" => [
"file" => "Allowed file types are image/jpeg and image/png",
"anotherFile" => "Allowed file types are image/gif and image/bmp",
],
"maxResolution" => [
"file" => "800x600",
"anotherFile" => "1024x768",
],
"messageMaxResolution" => [
"file" => "Max resolution of file is 800x600",
"anotherFile" => "Max resolution of file is 1024x768",
],
]
)
);
Métodos
public function __construct( array $options = [] );
Constructor
Abstract Class Phalcon\Validation\Validator\File\AbstractFile
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Verifica si un valor tiene un archivo correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
"file",
new Size(
[
"maxSize" => "2M",
"messageSize" => ":field exceeds the max file size (:size)",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new FileValidator(
[
"maxSize" => [
"file" => "2M",
"anotherFile" => "4M",
],
"messageSize" => [
"file" => "file exceeds the max file size 2M",
"anotherFile" => "anotherFile exceeds the max file size 4M",
],
]
)
);
Propiedades
/**
* Empty is empty
*/
protected messageFileEmpty = Field :field must not be empty;
/**
* File exceeds the file size set in PHP configuration
*/
protected messageIniSize = File :field exceeds the maximum file size;
/**
* File is not valid
*/
protected messageValid = Field :field is not valid;
Métodos
public function checkUpload( Validation $validation, mixed $field ): bool;
Comprueba subida
public function checkUploadIsEmpty( Validation $validation, mixed $field ): bool;
Comprobar si la subida está vacía
public function checkUploadIsValid( Validation $validation, mixed $field ): bool;
Comprobar si la subida es válida
public function checkUploadMaxSize( Validation $validation, mixed $field ): bool;
Comprueba si el archivo subido es mayor que el tamaño permitido por PHP
public function getFileSizeInBytes( string $size ): double;
Convierte una cadena como “2.5MB” en bytes
public function getMessageFileEmpty()
public function getMessageIniSize()
public function getMessageValid()
public function isAllowEmpty( Validation $validation, string $field ): bool;
Comprueba si se permite vacío
public function setMessageFileEmpty( $messageFileEmpty )
public function setMessageIniSize( $messageIniSize )
public function setMessageValid( $messageValid )
Class Phalcon\Validation\Validator\File\MimeType
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Exception |
|
Extends |
AbstractFile |
Comprueba si un valor tiene un tipo de medio de fichero correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\MimeType;
$validator = new Validation();
$validator->add(
"file",
new MimeType(
[
"types" => [
"image/jpeg",
"image/png",
],
"message" => "Allowed file types are :types"
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new MimeType(
[
"types" => [
"file" => [
"image/jpeg",
"image/png",
],
"anotherFile" => [
"image/gif",
"image/bmp",
],
],
"message" => [
"file" => "Allowed file types are image/jpeg and image/png",
"anotherFile" => "Allowed file types are image/gif and image/bmp",
]
]
)
);
Propiedades
//
protected template = File :field must be of type: :types;
Métodos
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Resolution\Equal
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Resolution |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Comprueba si un fichero tiene una resolución correcta
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Resolution\Equal;
$validator = new Validation();
$validator->add(
"file",
new Equal(
[
"resolution" => "800x600",
"message" => "The resolution of the field :field has to be equal :resolution",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Equal(
[
"resolution" => [
"file" => "800x600",
"anotherFile" => "1024x768",
],
"message" => [
"file" => "Equal resolution of file has to be 800x600",
"anotherFile" => "Equal resolution of file has to be 1024x768",
],
]
)
);
Propiedades
//
protected template = The resolution of the field :field has to be equal :resolution;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Resolution\Max
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Resolution |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Comprueba si un fichero tiene una resolución correcta
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Resolution\Max;
$validator = new Validation();
$validator->add(
"file",
new Max(
[
"resolution" => "800x600",
"message" => "Max resolution of :field is :resolution",
"included" => true,
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Max(
[
"resolution" => [
"file" => "800x600",
"anotherFile" => "1024x768",
],
"included" => [
"file" => false,
"anotherFile" => true,
],
"message" => [
"file" => "Max resolution of file is 800x600",
"anotherFile" => "Max resolution of file is 1024x768",
],
]
)
);
Propiedades
//
protected template = File :field exceeds the maximum resolution of :resolution;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Resolution\Min
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Resolution |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Comprueba si un fichero tiene una resolución correcta
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Resolution\Min;
$validator = new Validation();
$validator->add(
"file",
new Min(
[
"resolution" => "800x600",
"message" => "Min resolution of :field is :resolution",
"included" => true,
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Min(
[
"resolution" => [
"file" => "800x600",
"anotherFile" => "1024x768",
],
"included" => [
"file" => false,
"anotherFile" => true,
],
"message" => [
"file" => "Min resolution of file is 800x600",
"anotherFile" => "Min resolution of file is 1024x768",
],
]
)
);
Propiedades
//
protected template = File :field can not have the minimum resolution of :resolution;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Size\Equal
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Size |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Verifica si un valor tiene un archivo correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
"file",
new Equal(
[
"size" => "2M",
"included" => true,
"message" => ":field exceeds the equal file size (:size)",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Equal(
[
"size" => [
"file" => "2M",
"anotherFile" => "4M",
],
"included" => [
"file" => false,
"anotherFile" => true,
],
"message" => [
"file" => "file does not have the right file size",
"anotherFile" => "anotherFile wrong file size (4MB)",
],
]
)
);
Propiedades
//
protected template = File :field does not have the exact :size file size;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Size\Max
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Size |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Verifica si un valor tiene un archivo correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
"file",
new Max(
[
"size" => "2M",
"included" => true,
"message" => ":field exceeds the max file size (:size)",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Max(
[
"size" => [
"file" => "2M",
"anotherFile" => "4M",
],
"included" => [
"file" => false,
"anotherFile" => true,
],
"message" => [
"file" => "file exceeds the max file size 2M",
"anotherFile" => "anotherFile exceeds the max file size 4M",
],
]
)
);
Propiedades
//
protected template = File :field exceeds the size of :size;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\File\Size\Min
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\File\Size |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\Validator\File\AbstractFile |
|
Extends |
AbstractFile |
Verifica si un valor tiene un archivo correcto
use Phalcon\Validation;
use Phalcon\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
"file",
new Min(
[
"size" => "2M",
"included" => true,
"message" => ":field exceeds the min file size (:size)",
]
)
);
$validator->add(
[
"file",
"anotherFile",
],
new Min(
[
"size" => [
"file" => "2M",
"anotherFile" => "4M",
],
"included" => [
"file" => false,
"anotherFile" => true,
],
"message" => [
"file" => "file exceeds the min file size 2M",
"anotherFile" => "anotherFile exceeds the min file size 4M",
],
]
)
);
Propiedades
//
protected template = File :field can not have the minimum size of :size;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Identical
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Verifica si un valor es idéntico a otro
use Phalcon\Validation;
use Phalcon\Validation\Validator\Identical;
$validator = new Validation();
$validator->add(
"terms",
new Identical(
[
"accepted" => "yes",
"message" => "Terms and conditions must be accepted",
]
)
);
$validator->add(
[
"terms",
"anotherTerms",
],
new Identical(
[
"accepted" => [
"terms" => "yes",
"anotherTerms" => "yes",
],
"message" => [
"terms" => "Terms and conditions must be accepted",
"anotherTerms" => "Another terms must be accepted",
],
]
)
);
Propiedades
//
protected template = Field :field does not have the expected value;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\InclusionIn
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator, Phalcon\Validation\Exception |
|
Extends |
AbstractValidator |
Comprueba si un valor está incluido en una lista de valores
use Phalcon\Validation;
use Phalcon\Validation\Validator\InclusionIn;
$validator = new Validation();
$validator->add(
"status",
new InclusionIn(
[
"message" => "The status must be A or B",
"domain" => ["A", "B"],
]
)
);
$validator->add(
[
"status",
"type",
],
new InclusionIn(
[
"message" => [
"status" => "The status must be A or B",
"type" => "The status must be 1 or 2",
],
"domain" => [
"status" => ["A", "B"],
"type" => [1, 2],
]
]
)
);
Propiedades
//
protected template = Field :field must be a part of list: :domain;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Ip
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Validation, Phalcon\Validation\AbstractValidator, Phalcon\Messages\Message |
|
Extends |
AbstractValidator |
Comprueba direcciones IP
use Phalcon\Validation\Validator\Ip as IpValidator;
$validator->add(
"ip_address",
new IpValidator(
[
"message" => ":field must contain only ip addresses",
"version" => IP::VERSION_4 | IP::VERSION_6, // v6 and v4. The same if not specified
"allowReserved" => false, // False if not specified. Ignored for v6
"allowPrivate" => false, // False if not specified
"allowEmpty" => false,
]
)
);
$validator->add(
[
"source_address",
"destination_address",
],
new IpValidator(
[
"message" => [
"source_address" => "source_address must be a valid IP address",
"destination_address" => "destination_address must be a valid IP address",
],
"version" => [
"source_address" => Ip::VERSION_4 | IP::VERSION_6,
"destination_address" => Ip::VERSION_4,
],
"allowReserved" => [
"source_address" => false,
"destination_address" => true,
],
"allowPrivate" => [
"source_address" => false,
"destination_address" => true,
],
"allowEmpty" => [
"source_address" => false,
"destination_address" => true,
],
]
)
);
Constantes
const VERSION_4 = FILTER_FLAG_IPV4;
const VERSION_6 = FILTER_FLAG_IPV6;
Propiedades
//
protected template = Field :field must be a valid IP address;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Numericality
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprueba que haya un valor numérico válido
use Phalcon\Validation;
use Phalcon\Validation\Validator\Numericality;
$validator = new Validation();
$validator->add(
"price",
new Numericality(
[
"message" => ":field is not numeric",
]
)
);
$validator->add(
[
"price",
"amount",
],
new Numericality(
[
"message" => [
"price" => "price is not numeric",
"amount" => "amount is not numeric",
]
]
)
);
Propiedades
//
protected template = Field :field does not have a valid numeric format;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\PresenceOf
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Valida que un valor no sea nulo ni cadena vacía
use Phalcon\Validation;
use Phalcon\Validation\Validator\PresenceOf;
$validator = new Validation();
$validator->add(
"name",
new PresenceOf(
[
"message" => "The name is required",
]
)
);
$validator->add(
[
"name",
"email",
],
new PresenceOf(
[
"message" => [
"name" => "The name is required",
"email" => "The email is required",
],
]
)
);
Propiedades
//
protected template = Field :field is required;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Regex
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Permite validar si el valor de un campo coincide con una expresión regular
use Phalcon\Validation;
use Phalcon\Validation\Validator\Regex as RegexValidator;
$validator = new Validation();
$validator->add(
"created_at",
new RegexValidator(
[
"pattern" => "/^[0-9]{4}[-\/](0[1-9]|1[12])[-\/](0[1-9]|[12][0-9]|3[01])$/",
"message" => "The creation date is invalid",
]
)
);
$validator->add(
[
"created_at",
"name",
],
new RegexValidator(
[
"pattern" => [
"created_at" => "/^[0-9]{4}[-\/](0[1-9]|1[12])[-\/](0[1-9]|[12][0-9]|3[01])$/",
"name" => "/^[a-z]$/",
],
"message" => [
"created_at" => "The creation date is invalid",
"name" => "The name is invalid",
]
]
)
);
Propiedades
//
protected template = Field :field does not match the required format;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\StringLength
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation\AbstractValidator, Phalcon\Validation\AbstractValidatorComposite, Phalcon\Validation\Validator\StringLength\Max, Phalcon\Validation\Validator\StringLength\Min, Phalcon\Validation\Exception |
|
Extends |
AbstractValidatorComposite |
Validates that a string has the specified maximum and minimum constraints The test is passed if for a string’s length L, min<=L<=max, i.e. L must be at least min, and at most max. Desde Phalcon v4.0 este validador funciona como un contenedor
use Phalcon\Validation;
use Phalcon\Validation\Validator\StringLength as StringLength;
$validator = new Validation();
$validation->add(
"name_last",
new StringLength(
[
"max" => 50,
"min" => 2,
"messageMaximum" => "We don't like really long names",
"messageMinimum" => "We want more than just their initials",
"includedMaximum" => true,
"includedMinimum" => false,
]
)
);
$validation->add(
[
"name_last",
"name_first",
],
new StringLength(
[
"max" => [
"name_last" => 50,
"name_first" => 40,
],
"min" => [
"name_last" => 2,
"name_first" => 4,
],
"messageMaximum" => [
"name_last" => "We don't like really long last names",
"name_first" => "We don't like really long first names",
],
"messageMinimum" => [
"name_last" => "We don't like too short last names",
"name_first" => "We don't like too short first names",
],
"includedMaximum" => [
"name_last" => false,
"name_first" => true,
],
"includedMinimum" => [
"name_last" => false,
"name_first" => true,
]
]
)
);
Métodos
public function __construct( array $options = [] );
Constructor
Class Phalcon\Validation\Validator\StringLength\Max
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\StringLength |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator, Phalcon\Validation\Exception |
|
Extends |
AbstractValidator |
Validates that a string has the specified maximum constraints The test is passed if for a string’s length L, L<=max, i.e. L must be at most max.
use Phalcon\Validation;
use Phalcon\Validation\Validator\StringLength\Max;
$validator = new Validation();
$validation->add(
"name_last",
new Max(
[
"max" => 50,
"message" => "We don't like really long names",
"included" => true
]
)
);
$validation->add(
[
"name_last",
"name_first",
],
new Max(
[
"max" => [
"name_last" => 50,
"name_first" => 40,
],
"message" => [
"name_last" => "We don't like really long last names",
"name_first" => "We don't like really long first names",
],
"included" => [
"name_last" => false,
"name_first" => true,
]
]
)
);
Propiedades
//
protected template = Field :field must not exceed :max characters long;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\StringLength\Min
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator\StringLength |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator, Phalcon\Validation\Exception |
|
Extends |
AbstractValidator |
Validates that a string has the specified minimum constraints The test is passed if for a string’s length L, min<=L, i.e. L must be at least min.
use Phalcon\Validation;
use Phalcon\Validation\Validator\StringLength\Min;
$validator = new Validation();
$validation->add(
"name_last",
new Min(
[
"min" => 2,
"message" => "We want more than just their initials",
"included" => true
]
)
);
$validation->add(
[
"name_last",
"name_first",
],
new Min(
[
"min" => [
"name_last" => 2,
"name_first" => 4,
],
"message" => [
"name_last" => "We don't like too short last names",
"name_first" => "We don't like too short first names",
],
"included" => [
"name_last" => false,
"name_first" => true,
]
]
)
);
Propiedades
//
protected template = Field :field must be at least :min characters long;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\Validator\Uniqueness
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Mvc\Model, Phalcon\Mvc\ModelInterface, Phalcon\Validation, Phalcon\Validation\AbstractCombinedFieldsValidator, Phalcon\Validation\Exception |
|
Extends |
AbstractCombinedFieldsValidator |
Comprueba que un campo sea único en la tabla relacionada
use Phalcon\Validation;
use Phalcon\Validation\Validator\Uniqueness as UniquenessValidator;
$validator = new Validation();
$validator->add(
"username",
new UniquenessValidator(
[
"model" => new Users(),
"message" => ":field must be unique",
]
)
);
Atributo diferente del campo:
$validator->add(
"username",
new UniquenessValidator(
[
"model" => new Users(),
"attribute" => "nick",
]
)
);
En el modelo:
$validator->add(
"username",
new UniquenessValidator()
);
Combinación de campos en el modelo:
$validator->add(
[
"firstName",
"lastName",
],
new UniquenessValidator()
);
Es posible convertir valores antes de la validación. Esto es útil en situaciones donde los valores necesitan convertirse para hacer la búsqueda en la base de datos:
$validator->add(
"username",
new UniquenessValidator(
[
"convert" => function (array $values) {
$values["username"] = strtolower($values["username"]);
return $values;
}
]
)
);
Propiedades
//
protected template = Field :field must be unique;
//
private columnMap;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
protected function getColumnNameReal( mixed $record, string $field ): string;
En este caso se usa el mapa de columnas para obtener el nombre de columna real
protected function isUniqueness( Validation $validation, mixed $field ): bool;
protected function isUniquenessModel( mixed $record, array $field, array $values );
Método de unicidad utilizado para el modelo
Class Phalcon\Validation\Validator\Url
Código fuente en GitHub
Namespace |
Phalcon\Validation\Validator |
|
Uses |
Phalcon\Messages\Message, Phalcon\Validation, Phalcon\Validation\AbstractValidator |
|
Extends |
AbstractValidator |
Comprueba si un valor tiene un formato de url
use Phalcon\Validation;
use Phalcon\Validation\Validator\Url as UrlValidator;
$validator = new Validation();
$validator->add(
"url",
new UrlValidator(
[
"message" => ":field must be a url",
]
)
);
$validator->add(
[
"url",
"homepage",
],
new UrlValidator(
[
"message" => [
"url" => "url must be a url",
"homepage" => "homepage must be a url",
]
]
)
);
Propiedades
//
protected template = Field :field must be a url;
Métodos
public function __construct( array $options = [] );
Constructor
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Interface Phalcon\Validation\ValidatorCompositeInterface
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Validation |
Esta es una clase base para validadores de campos combinados
Métodos
public function getValidators(): array;
Ejecuta la validación
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación
Class Phalcon\Validation\ValidatorFactory
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Factory\AbstractFactory, Phalcon\Helper\Arr |
|
Extends |
AbstractFactory |
Este fichero es parte del Framework Phalcon.
(c) Phalcon Team [email protected]
Para obtener toda la información sobre derechos de autor y licencias, por favor vea el archivo LICENSE.txt que se distribuyó con este código fuente.
Métodos
public function __construct( array $services = [] );
Constructor TagFactory.
public function newInstance( string $name ): ValidatorInterface;
Crea una nueva instancia
protected function getAdapters(): array;
Interface Phalcon\Validation\ValidatorInterface
Código fuente en GitHub
Namespace |
Phalcon\Validation |
|
Uses |
Phalcon\Validation |
Interfaz para Phalcon\Validation\AbstractValidator
Métodos
public function getOption( string $key, mixed $defaultValue = null ): mixed;
Devuelve una opción en las opciones del validador. Devuelve null si la opción no ha sido configurada
public function getTemplate( string $field ): string;
Obtiene el mensaje plantilla
public function getTemplates(): array;
Obtiene las plantillas de mensaje
public function hasOption( string $key ): bool;
Comprueba si una opción está definida
public function setTemplate( string $template ): ValidatorInterface;
Establece un nuevo mensaje de plantilla
public function setTemplates( array $templates ): ValidatorInterface;
Limpia la plantilla actual y establece una nueva desde un vector,
public function validate( Validation $validation, mixed $field ): bool;
Ejecuta la validación