Hola a todos:
Quisiera si alguien supiera que me ayudara con el siguiente problema. En un modelo tengo la siguiente validación:
public function rules()
{
return [
[[‘fecha_inicio’, ‘fecha_fin’], ‘safe’],
[[‘cant_min’, ‘cant_max’], ‘default’, ‘value’ => null],
[[‘cant_min’, ‘cant_max’], ‘integer’],
[‘cant_max’, ‘compare’, ‘compareAttribute’=>‘cant_min’, ‘operator’=> ‘>=’, ‘message’=>‘La matrícula máxima no puede ser inferior a la mínima.’ ],
[‘fecha_fin’, ‘compare’, ‘compareAttribute’=>‘fecha_inicio’, ‘operator’=> ‘>=’, ‘message’=>‘La fecha de culminación no puede ser antes de la fecha de inicio.’ ],
];
}
En el caso que cant_min=2 y cant_max= 10 se muestra el mensaje de error de la validación, es como si interpretara el valor 10 como 1. Esto sucede siempre
cant_max sea igual a un valor que contenga ceros a la derecha y el número que acompaña a los ceros sea menor que la cant_min. Para el resto de los casos
funciona bien.
Algo similar me sucede con las fechas, mientras las fecha_inicio y fecha_fin se encuentran en el mismo mes y año la validación funciona perfectamente, pero
cuando la fecha_fin se encuentra en otro mes y año, muestra el mensaje de error de validación. Por ejemplo, fecha_inicio=12/19/2019 y fecha_fin=01/02/2020.