Kullanıcı yazarken girişi doğrulama

Kullanıcı bir metin alanına yazarken girişi doğrulayabilirsiniz. Örneğin, ad, e-posta, adres veya diğer iletişim bilgilerini girerken. Bu doğrulama, hataları azaltır ve kullanıcılarınızın zaman kazanmasını sağlar.

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şi alanı.
Hatalı geçersiz metin girişi
Şekil 2. Geçersiz bir e-posta adresi girildiğinde hata mesajı gösteren bir metin giriş alanı.

Sürüm uyumluluğu

Bu uygulama, projenizin minSDK'sının API düzeyi 21 veya sonraki sürümlere ayarlanmasını gerektirir.

Bağımlılıklar

Kullanıcı yazarken girişi doğrulama

Kullanıcı yazarken alan girişini göstermek ve metni doğrulamak için aşağıdaki kodu kullanın. Bilgiler doğrulanmazsa hata mesajı, kullanıcının girişi düzeltmesine yardımcı olur.

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

  • Kullanıcı yazarken doğrulayıcı hata mesajlarını göstermek için gerekli parametreleri ekleyerek OutlinedTextField bileşenini yeniden kullanan bir composable 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 göstergesini sağlar.
  • Tam ve doğru bir e-posta girilene kadar bileşende "E-posta biçimi yanlış." mesajı gösterilir.

Bu rehberi içeren koleksiyonlar

Bu kılavuz, daha kapsamlı Android geliştirme hedeflerini ele alan aşağıdaki seçilmiş Hızlı Kılavuz koleksiyonlarının bir parçasıdır:

Metin, herhangi bir kullanıcı arayüzünün temel bileşenidir. Kullanıcılara keyifli bir deneyim sunmak için uygulamanızdaki metinleri farklı şekillerde sunmanın yollarını öğrenin.
Kullanıcıların metin girerek ve diğer giriş yöntemlerini kullanarak uygulamanızla etkileşim kurmasını nasıl sağlayacağınızı öğrenin.

Sorularınız veya geri bildiriminiz mi var?

Sık sorulan sorular sayfamıza giderek hızlı kılavuzlar hakkında bilgi edinebilir veya düşüncelerinizi bize iletebilirsiniz.