Fiche 08.02
Fiche 08.02 — Debounce, validation formulaire et Combine dans MVVM
Objectif
Savoir utiliser Combine pour deux cas très fréquents : recherche avec délai (debounce) et validation automatique de formulaire dans un ViewModel MVVM.
1. Pourquoi debounce ?
Quand l’utilisateur tape dans un champ de recherche, il ne faut pas lancer une requête API à chaque lettre.
Exemple mauvais :
Texte
Avec debounce, on attend que l’utilisateur arrête de taper pendant un court délai.
2. Recherche avec debounce
Swift
SwiftUI :
Swift
3. Debounce avec appel async
Si la recherche appelle une API async, on peut lancer une Task.
Swift
Cette approche combine Combine pour écouter le texte, et async/await pour l’appel réseau.
4. Validation de formulaire avec Combine
Swift
Vue :
Swift
5. Quand utiliser Combine ici ?
Combine est utile si :
- plusieurs champs doivent produire un état calculé ;
- tu veux éviter de recalculer manuellement partout ;
- tu fais une recherche avec debounce ;
- tu écoutes un flux de données continu.
Pour une validation très simple, une propriété calculée suffit aussi :
Swift
Il ne faut pas utiliser Combine juste pour faire compliqué.
Résumé
debounceattend avant de déclencher une action.removeDuplicatesévite de traiter deux fois la même valeur.- Combine est très utile pour une recherche en direct.
- Combine peut valider automatiquement un formulaire.
- Avec async/await, Combine peut déclencher une
Task. - Pour une validation très simple, une propriété calculée peut suffire.