Kullanıcı yazarken girişi doğrulama

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

Geçerli bir metin girişi
Şekil 1. Geçerli bir e-posta adresi için hata mesajı göstermeyen e-posta doğrulayıcıları içeren bir metin giriş alanı.
Hata içeren geçersiz bir metin girişi
Şekil 2. Geçersiz bir e-posta adresi girildiğinde hata mesajı gösteren bir metin giriş alanı.

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:

Metin, her kullanıcı arayüzünün temel bileşenidir. Kullanıcılara keyifli bir deneyim sunmak için uygulamanızda metinleri sunmanın farklı yollarını öğrenin.
Kullanıcıların metin girerek ve diğer giriş yöntemlerini kullanarak uygulamanızla nasıl etkileşime geçebileceğini öğrenin.

Sorularınız veya geri bildiriminiz mi var?

Sık sorulan sorular sayfamıza giderek kısa kılavuzlar hakkında bilgi edinebilir veya bize ulaşarak düşüncelerinizi bizimle paylaşabilirsiniz.