Kullanıcı bir metin alanına yazarken girişi doğrulayabilirsiniz (ör. ad, e-posta, adres veya diğer iletişim bilgilerini girme). Bu doğrulama, hataları azaltır ve kullanıcılarınıza zaman kazandırır.
Sürüm uyumluluğu
Bu uygulama için projenizin minSDK değerinin API düzeyi 21 veya üstü olarak ayarlanması gerekir.
Bağımlılıklar
Kullanıcı yazarken girişi doğrulama
Kullanıcı yazarken alan girişini görüntülemek ve metni doğrulamak için aşağıdaki kodu kullanın. Bilgiler doğrulanmamışsa kullanıcının girişi düzeltmesine yardımcı olmak için bir hata mesajı gösterilir.
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 ) }
Kodla ilgili önemli noktalar
- Doğrulayıcı hata mesajlarını kullanıcı türleri olarak görüntülemek için gerekli parametreleri ekleyerek
OutlinedTextField
bileşenini yeniden kullanan bir derlenebilir öğe tanımlar. EmailViewModel
, durumu korumak ve e-posta doğrulama mantığını sağlamak için kullanılır.isError
doğruysa kullanıcı arayüzü, doğrulama hatası durumunun görsel bir göstergesini sağlar.- Eksiksiz ve doğru bir e-posta girilene kadar bileşen "Yanlış e-posta biçimi" ifadesini gösterir.
Sonuçlar
Bu kılavuzu içeren koleksiyonlar
Bu kılavuz, daha geniş Android geliştirme hedeflerini kapsayan, özel olarak seçilmiş Hızlı Kılavuz koleksiyonlarından biridir: