Yii';s关于日期无效的规则


Yii's rule about date not working

我的Yii版本:1.1.13。

我对同一个字段使用两条规则。

    public function rules() {
        return array(
            array('data_preenchimento', 'required'),
            array('data_preenchimento', 'type', 'type'=>'date', 'dateFormat'=>'dd/MM/yy'),

当元素失去焦点时,如果它为空,则可以看到"required"规则在起作用。但是,如果它的值与格式规则有任何不同,例如"894089095",则不会发生任何事情。

我还尝试将格式规则更改为:

array('data_preenchimento', 'type', 'type'=>'date', 'message'=>'the date is not valid.', 'dateFormat'=>'dd/MM/yy'),

array('data_preenchimento', 'date', 'format'=>'dd/MM/yy'),

注意:小部件的这些属性设置为true:

$form = $this->beginWidget('CActiveForm', array(
    'id'=>'questionario-form',
    'action'=>Yii::app()->createUrl('//questionario/index'),
    'enableAjaxValidation'=>false,
    'enableClientValidation'=>true,
    'clientOptions'=>array(
        'validateOnSubmit'=>true,
        'validateOnChange'=>true,
    ),
    'htmlOptions' => array('enctype' => 'multipart/form-data'),
));

更新:下面是我的rules():

public function rules()
{
    return array(
        array('pais_de_origem,data_preenchimento,conhecimento_regiao,motivos_visita,aspectos_interesse,vim_de,vou_para', 'required'),
        array('data_preenchimento', 'date', 'format'=>'dd/MM/yyyy', 'message'=>'A data deve ter o formato dd/mm/aaaa.', 'allowEmpty'=>false),
        array('motivos_visita', 'verificarLimiteDeMotivosDaVisita'),
        array('aspectos_interesse', 'verificarLimiteDeAspectosDeInteresse'),
        array('quais_conhecimento_regiao', 'verificarQuaisConhecimentoDaRegiao'),
        array('quais_motivos_visita', 'verificarQuaisMotivosDaVisita'),
        array('quais_aspectos_interesse', 'verificarQuaisAspectosDeInteresse'),
        array('quais_factores', 'verificarQuaisFactores'),
        array('factores_outros,sites_conhecimento_regiao,facilidade_conhecimento_regiao', 'safe'),
    );
}

为什么Yii在这种情况下不能使用规则?我该怎么修?

控制器出现问题。几天前,我更改了接收输入的模型,但我忘记在控制器中更改它,所以我用isset()验证了$_POST中不存在的东西。现在一切都很顺利。