اعتبار ورودی را با نوع کاربر تأیید کنید

شما می توانید ورودی را همانطور که کاربر در یک فیلد متنی تایپ می کند، مانند وارد کردن نام، ایمیل، آدرس یا سایر اطلاعات تماس، اعتبارسنجی کنید. این اعتبار سنجی خطاها را کاهش می دهد و در وقت کاربران شما صرفه جویی می کند.

سازگاری نسخه

این پیاده سازی مستلزم آن است که minSDK پروژه شما روی سطح API 21 یا بالاتر تنظیم شود.

وابستگی ها

اعتبار ورودی را با نوع کاربر تأیید کنید

از کد زیر برای نمایش ورودی فیلد و اعتبارسنجی متن در حین تایپ کاربر استفاده کنید. اگر اطلاعات تایید نشده باشد، یک پیام خطا به کاربر کمک می کند تا ورودی را تصحیح کند.

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
    )
}

نکات کلیدی در مورد کد

  • یک Composable را تعریف می کند که از مؤلفه OutlinedTextField مجدداً استفاده می کند و پارامترهای مورد نیاز را برای نمایش پیام های خطای اعتبارسنجی به عنوان انواع کاربر اضافه می کند.
  • EmailViewModel برای حفظ وضعیت و ارائه منطق اعتبارسنجی ایمیل استفاده می شود.
  • اگر isError درست باشد، UI یک نشانگر بصری از وضعیت خطای اعتبارسنجی را ارائه می دهد.
  • مؤلفه "فرمت ایمیل نادرست" را نمایش می دهد. تا زمانی که یک ایمیل کامل و صحیح وارد شود.

نتایج

یک ورودی متن معتبر
شکل 1. یک فیلد ورودی متنی با اعتبارسنجی ایمیل که هیچ پیام خطایی برای یک آدرس ایمیل معتبر نمایش نمی دهد.
یک ورودی متن نامعتبر با خطا
شکل 2. یک فیلد ورودی متنی که هنگام وارد کردن آدرس ایمیل نامعتبر، پیام خطا را نمایش می دهد.

مجموعه هایی که حاوی این راهنما هستند

این راهنما بخشی از مجموعه‌های راهنمای Quick Guide است که اهداف توسعه Android گسترده‌تری را پوشش می‌دهد:

متن بخش مرکزی هر رابط کاربری است. روش های مختلفی را بیابید که می توانید متن را در برنامه خود ارائه دهید تا تجربه کاربری لذت بخشی را ارائه دهید.
بیاموزید که چگونه با وارد کردن متن و استفاده از سایر ابزارهای ورودی، راه‌هایی را برای تعامل کاربران با برنامه‌تان پیاده‌سازی کنید.

سوال یا بازخورد داشته باشید

به صفحه سوالات متداول ما بروید و درباره راهنماهای سریع بیاموزید یا با ما تماس بگیرید و نظرات خود را با ما در میان بگذارید.