Hola Comunidad
hice una funcion que me valida una fecha ingresada
public function rules()
{
return array(
array('tipo_novedad','length','max'=>45),
array('expediente','length','max'=>45),
array('ciudad_institucion','length','max'=>100),
array('obs','length','max'=>500),
array('tipo_novedad, fecha', 'required'),
array('fecha_fin,fecha_ini,fecha','fechaValida'),
);
}
public function fechaValida($attribute,$params) {
if (!empty($this->$attribute) and $this->$attribute!==null) {
//echo $attribute.Varios::is_date($this->$attribute);
if (!Varios::is_date($this->$attribute))
$this->addError($attribute,$this->getAttributeLabel($attribute).' es una fecha incorrecta');
else
$this->$attribute=Varios::agregarBarras($this->$attribute);
}
}
pero tengo que ponerla en cada modelo
lo que quisiera hacer es usar un alias (como "required" de "CRequiredValidator" o "compare" de CCompareValidator)
lo que hice fue la clase, pero no se como definir el alias
<?php
class CFechaValidaValidator {
protected function validateAttribute($object,$attribute)
{
if(!$this->isEmpty($object->$attribute,true))
//echo $attribute.Varios::is_date($this->$attribute);
if (!Varios::is_date($object->$attribute)) {
//$this->addError($attribute,$this->getAttributeLabel($attribute).' es una fecha incorrecta');
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} es una fecha incorrecta');
$this->addError($object,$attribute,$message);
}
else
$object->$attribute=Varios::agregarBarras($object->$attribute);
}
}
?>