Vous pouvez valider la saisie lorsque l'utilisateur saisit un nom, une adresse e-mail, une adresse ou d'autres coordonnées dans un champ de texte. Cette validation réduit les erreurs et fait gagner du temps à vos utilisateurs.
Compatibilité des versions
Cette implémentation nécessite que la version minimale du SDK de votre projet soit définie sur le niveau d'API 21 ou supérieur.
Dépendances
Valider la saisie à mesure que l'utilisateur saisit du texte
Utilisez le code suivant pour afficher la saisie du champ et valider le texte pendant que l'utilisateur saisit du texte. Si les informations ne sont pas validées, un message d'erreur aide l'utilisateur à corriger la saisie.
class EmailViewModel : ViewModel() { var email by mutableStateOf("") private set val emailHasErrors by derivedStateOf { if (email.isNotEmpty()) { // Email is considered erroneous until it completely matches EMAIL_ADDRESS. !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } else { false } } fun updateEmail(input: String) { email = input } } @Composable fun ValidatingInputTextField( email: String, updateState: (String) -> Unit, validatorHasErrors: Boolean ) { OutlinedTextField( modifier = Modifier .fillMaxWidth() .padding(10.dp), value = email, onValueChange = updateState, label = { Text("Email") }, isError = validatorHasErrors, supportingText = { if (validatorHasErrors) { Text("Incorrect email format.") } } ) } @Preview @Composable fun ValidateInput() { val emailViewModel: EmailViewModel = viewModel<EmailViewModel>() ValidatingInputTextField( email = emailViewModel.email, updateState = { input -> emailViewModel.updateEmail(input) }, validatorHasErrors = emailViewModel.emailHasErrors ) }
Points clés concernant le code
- Définit un composable qui réutilise le composant
OutlinedTextField
, en ajoutant les paramètres requis pour afficher les messages d'erreur de l'outil de validation en tant que types d'utilisateurs. EmailViewModel
permet de conserver l'état et de fournir la logique de validation de l'adresse e-mail.- Si
isError
est défini sur "True", l'UI fournit un indicateur visuel de l'état d'erreur de validation. - Le composant affiche "Format d'adresse e-mail incorrect" jusqu'à ce qu'une adresse e-mail complète et correcte soit saisie.
Résultats
Collections contenant ce guide
Ce guide fait partie de ces collections de guides rapides sélectionnées qui couvrent des objectifs de développement Android plus larges: