Rules: vérification du champ sans le rendre obligatoire

Bonjour,

Je souhaiterais crée un champ de type number, de vérifier que le contenu est bien un float mais de ne pas le rendre obligatoire.
Pour cela j’utilise le rule suivant :

<q-input
      filled
      v-model.number="valeur"
      label="Valeur"
      type="number"
      step="any"
      :rules="[champDecimal()]"
    />

methods: {
    champDecimal () {
      return (v) => /^([0-9]+([.][0-9]*)?|[.][0-9]+)$/.test(v) || 'Valeur erronée'
    }
}

J’ai également testé la regex ci-dessous mais ce coup ci il accepte tout.
^([0-9]+([.][0-9]*)?|[.][0-9]+)$|^$