@@ -203,16 +203,20 @@ && $db->firstColumn('SELECT 1 FROM membres WHERE '.$champ_id.' = ? COLLATE NOCASE AND id != ? LIMIT 1;', $data[$champ_id], (int)$id)) { throw new UserException('La valeur du champ '.$champ_id.' est déjà utilisée par un autre membre, hors ce champ doit être unique à chaque membre.'); } - if (!empty($data['numero'])) + if (isset($data['numero'])) { if (!preg_match('/^\d+$/', $data['numero'])) { throw new UserException('Le numéro de membre ne doit contenir que des chiffres.'); } + elseif ($data['numero'] == 0) + { + throw new UserException('Le numéro de membre ne peut être vide.'); + } if ($db->test('membres', 'numero = ? AND id != ?', (int)$data['numero'], $id)) { throw new UserException('Ce numéro est déjà attribué à un autre membre.'); }