Codeigniter - Validar dos campos fecha

 
Vista:
Imágen de perfil de Luis Saavedra

Validar dos campos fecha

Publicado por Luis Saavedra (9 intervenciones) el 01/08/2017 21:49:37
Saludos!

Quisiera saber si alguien sabe y me pueda ayudar en como puedo a través de la función run() de codeigniter que verifica los campos de un formulario lo siguiente:

Verificar que la fecha ingresada en uno de los input sea mayor o igual a otra. Porque puedo definir mi propia función de validación usando el prefijo callback, pero como para una misma función podría pasarle los dos input a la vez para comprobar? o alguna otra idea que me puedan aportar para hacerlo? xq hasta donde se las funciones que se definan actuaran sobre el input para el cual se definio la regla de validación, y no se utilizaran los valores de ambos input que es lo que necesito.

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Validar dos campos fecha

Publicado por elddenmedio (4 intervenciones) el 01/08/2017 22:39:38
lo que tienes q hacer es crear tu propia funcion extendiendo la libreria form_validation creando un metodo parecido al
1
matches[other_date]
y en esa funcion tendrias algo como esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MY_Form_validation {
    public function date_dif($date1, $date2){
		if ( ! isset($_POST[$date2]))
		{
			return FALSE;
		}
 
		$_date2 = $_POST[$date2];
 
                $date1  =date_create($date1);//"2013-03-15"
                $date2  =date_create($_date2);//"2013-12-12"
                $diff      =date_diff($date1,$date2);
 
                //if the result is + return TRUE else (-) FALSE
                return ( $diff->format("%R%a") > 0) ? TURE : FALSE;
	}
}

Faltaria que agregues el error en applications/language/english/form_validation_lang.php de esta forma
1
2
3
4
5
6
//ci2
$lang['date_dif']			= "The %s must be bigger than the %s.";//The first_date must be bigger than the second_date
//ci3
$lang['date_dif']			= "The %s must be bigger than the %s.";//The first_date must be bigger than the second_date
$lang['date_dif']		        = 'The {field} must be bigger than the {param}.";//The first_date must be bigger than the second_date
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Validar dos campos fecha

Publicado por elddenmedio (4 intervenciones) el 01/08/2017 23:13:37
hola, perdon se me olvido agregar
1
extends CI_Form_validation {
en MY_Form_validation quedando de esta forma
1
class MY_Form_validation extends CI_For_validation{
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Luis

Validar dos campos fecha

Publicado por Luis (9 intervenciones) el 04/08/2017 16:54:35
Gracias @elddenmedio con tu aporte y unas pequeñas modificaciones pude solucionar mi inconveniente. Muchas Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar