Vérifier le remplissage de champs

Bonjour à  tous,


Je suis en train de développer une petite application iPhone en swift et je suis confronté à  un petit problème.

J'ai une vue avec 4 textfield et 1 bouton.

L'utilisateur doit remplir uniquement 2 des 4 champs, (ceux qu'ils souhaitent, avec uniquement des nombres) et valider. L'application va alors remplir les 2 autres.

Le problème c'est que j'ai du mal à  voir comment effectuer ces vérifications (quels sont les champs remplis, sont-ils bien remplis).

J'ai bien un début de solution avec des if ou des guard mais ça commence à  faire beaucoup et je me dis qu'il y a peut être plus simple.

 

Merci d'avance pour votre aide.

Réponses

  • JérémyJérémy Membre
    août 2017 modifié #2

    De façon triviale je te conseillerai ceci :


    1 - Pour toutes tes texfield tu implémentes la méthode du composant (via le delegate) qui est appelé lorsque le contenu (le texte en somme) est modifié. Dans cette méthode, tu vérifies qu'un caractère interdit n'a pas été saisi. Une seule méthode pour tous les textfield. Tu peux également utiliser le clavier qui contient uniquement des chiffres mais tu n'enlèveras pas la problématique si l'utilisateur écrit depuis un clavier externe...


    2 - Pour vérifier si une textfield contient une valeur tu peux faire ceci :



    if myTextfield.text != nil && !myTexfield.text.isEmpty { ...

    J'ai supposé que tes textfields ne sont pas optionnels.


    3 - Par la suite, lorsque deux textfield ont des datas (intégrer l'algorithme évoqué au point 2 dans la méthode du point 1), tu passes les deux autres à  read only.


    Si tu rencontres des difficultés, fait signe qu'on t'apporte des précisions.


  • Merci, je vais regarder cette solution


  • Joanna CarterJoanna Carter Membre, Modérateur
    Côté validation de saisie, j'ai écrit une série d'articles :


    https://joannamacdev.github.io/Interactors-Part-1-Numeric-Labels/
Connectez-vous ou Inscrivez-vous pour répondre.