Hola amigos,
Estoy haciendo un formulario para validar las fechas pero necesito comparar dos fechas en concreto... Creo que zend 2 no te da la opcion por defecto o si?? ,
... Bueno, yo me he creado mi propio validador, pero claro, el validador donde lo tengo que poner porque me dice
Failed to locate validator "Validator_LessThanElement"
Este es el validador que encontre por Internet
Código PHP:
Ver original<?php
namespace mvc\validator;
use Zend\Validator\AbstractValidator;
class Validator_LessThanElement extends AbstractValidator {
const MSG_LESSTHEN = 'msgLessThen';
/**
* Definimos el mensaje de error con sus respectivas variables.
*
* @var array
*/
protected $_messageTemplates = array( self::MSG_LESSTHEN => "'%value%' no puede ser menor que '%token%'."
);
/**
* Definimos las variables que se van a usar para construir el mensaje de
* error. El índice corresponde al nombre que se usara en el mensaje, y el
* valor a la variable que se utiliza en el código.
*
* @var array
*/
protected $_messageVariables = array( 'token' => 'token'
);
/**
* Variable tipo arreglo utilizado para contener todos los elementos que
* requieran ser analizados durante la validación, estas son las opciones
* que se pasan como tercer parámetros al método addValidator.
*
* @var array
*/
protected $_options = array();
/**
* Constructor sobre-escrito que recibe como parámetros las opciones
* adicionales cuando se pasan al método addValidator.
*
* @param array $options
*/
public function __construct($options = null) {
$this->_options = $options;
}
/**
* Método sobre-escrito que determina si un elemento es valido. Este método
* compara si un elemento es mayor que otro elemento.
*
* @param string $value
* @param array $context
* @return boolean
*/
public function isValid($value, $context = null) {
$this->_setValue($value);
foreach($this->_options as $option) {
if(isset($context[$option])) { $this->token = $context[$option];
if($value < $this->token) {
$this->_error(self::MSG_LESSTHEN);
return false;
}
}
}
return true;
}
}
?>
Alguna idea??... o sugerencia