Validation CakePHP仅在设置isset时进行验证

Validation CakePHP仅在设置isset时进行验证,validation,cakephp,cakephp-2.1,Validation,Cakephp,Cakephp 2.1,我使用的是CakePHP2.1。如果设置了表单字段(我的图像上载是可选的),如何在模型中配置验证器,使其只执行其工作 设置规则属性中的'allowEmpty'=>true的“设置”是指有内容,还是仅当字段通过时才设置?@Dave:当我发送表单且未选择图像(非必填字段)时。Ayo在下面的回答是正确的。allowEmpty不适用于文件上载和扩展规则(.jpg等)。规则'required'=>false也不起作用。 public $validate = array( 'question_ima

我使用的是CakePHP2.1。如果设置了表单字段(我的图像上载是可选的),如何在模型中配置验证器,使其只执行其工作


设置规则属性中的'allowEmpty'=>true

的“设置”是指有内容,还是仅当字段通过时才设置?@Dave:当我发送表单且未选择图像(非必填字段)时。Ayo在下面的回答是正确的。allowEmpty不适用于文件上载和扩展规则(.jpg等)。规则'required'=>false也不起作用。
public $validate = array(
    'question_image' => array(
        'ruleExtension' => array(
            'rule' => array('extension', array('gif', 'jpeg', 'png', 'jpg')),
            'message' => 'Das Bild hat ein ungültiges Format. Es sind nur gif, jpeg, png und jpg erlaubt.'
        ),
        'ruleFilesize' => array(
            'rule' => array('MaxFileSize'),
            'message' => 'Das Bild muss kleiner als 5 Megabyte sein.'
        ));