Salve sono alle prese con un CActiveForm che deve memorizzare una immagine (file) e una nuova password (nel caso in cui l’utente la voglia cambiare) ho però l’esigenza di verificare la password originale ad ogni update per essere sicuro che sia l’utente interessato a compiere queste azioni.
Ho aggiunto alle proprietà del CActiveForm il :
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>false,//this needs to stay on false always.
'afterValidate'=>"js:function(form, data, hasError){
if(hasError){
//do smth if there is an error.
alert('ops... ci sono errori di validazione');
}else{
// submit the data to your controller.
$('#password_firmadigitale_modale').modal({
title: 'inserire password',
maxWidth: 200,
});
il problema nasce nella validazione dell’attributo binaryfile che è un file, la sua regola è questa:
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('binaryfile', 'file',
'types' => 'jpg, gif, png, bmp, jpeg',
'maxSize' => 1024 * 1024 * 10, // 10MB
'tooLarge' => 'The file was larger than 10MB. Please upload a smaller file.',
'allowEmpty' => true
che non sembra essere individuata dal AjaxValidation !
grazie