Bonjour à tous, je viens vers vous après avoir longuement chercher.

Voilà,

J'ai 2 tables, "device" et "model".
device contient l'id du model.
Lors de l'insertion du formulaire de device je cherche à faire un validateur qui compare un champ "serial" du formulaire et le "nom du model" de la base.
S'ils correspondent c'est bon sinon false.

J'ai fais cette requête pour l'appeler dans le validateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public function verification_serialmodel($iddevice)
{
		$select = $this->select()
                ->setIntegrityCheck(false)
                ->from(array('device'),
			array('id','serial_number'))
		->join(array('netasq_model'),
		 'device.netasq_model_id = netasq_model.id',array('name'))
		->where('device.id = ?', $iddevice);
		return $this->fetchRow($select);
 
}
et la le code du validateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 class Application_Validate_VerificationSerialmodel extends Zend_Validate_Abstract
    {
        const MSG = 'verification_serialmodel'; 
 
        protected $_messageTemplates = array(
            self::MSG => 'Le numero de serie ne correspond pas au modele'
        );
 
        public function isValid($value, $context = null)
        {
 
			$device = new Application_Model_DbTable_Device();
			$modelextract = str_replace("-","",$ar_data['name']);
			$modelserie = substr($ar_data['serial_number'], 0, -10);
			$device->verification_serialmodel($ar_data);
			if($modelextract == $modelserie) return true;
 
			$this->_error(self::MSG);
            return false;
 
        }
    }
Pourriez vous m'aider s'il vous plaît ?
Merci d'avance de votre aide.

Cordialement,