التحقّق من صحة الإدخال أثناء كتابته

يمكنك التحقّق من صحة الإدخال أثناء كتابة المستخدم في حقل نصي، مثل إدخال اسم أو عنوان بريد إلكتروني أو عنوان أو معلومات اتصال أخرى. يقلل هذا التحقّق من الأخطاء ويوفّر وقت المستخدمين.

توافق الإصدار

يتطلّب هذا التنفيذ ضبط الحد الأدنى من إصدار حزمة SDK لمشروعك على المستوى 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
    )
}

النقاط الرئيسية حول الرمز

  • يحدِّد عنصرًا قابلاً للتجميع يعيد استخدام المكوّن OutlinedTextField، مع إضافة المَعلمات المطلوبة لعرض رسائل خطأ المدقّق كأنواع مستخدمين.
  • يتم استخدام EmailViewModel للحفاظ على الحالة وتوفير منطق التحقّق من صحة عنوان البريد الإلكتروني.
  • إذا كانت قيمة isError هي صحيحة، تقدّم واجهة المستخدم مؤشرًا مرئيًا لحالة خطأ التحقّق من الصحة.
  • سيعرض المكوّن الرسالة "تنسيق البريد الإلكتروني غير صحيح" إلى أن يتم إدخال عنوان بريد إلكتروني كامل وصحيح.

النتائج

إدخال نص صالح
الشكل 1. حقل إدخال نص يتضمّن مدقّقات عناوين بريد إلكتروني لا تعرض أي رسائل خطأ لعنوان بريد إلكتروني صالح
إدخال نص غير صالح يتضمّن أخطاء
الشكل 2. حقل إدخال نص يعرض رسالة خطأ عند إدخال عنوان بريد إلكتروني غير صالح

المجموعات التي تتضمّن هذا الدليل

هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول أهداف تطوير Android الأوسع نطاقًا:

يشكّل النص جزءًا أساسيًا من أي واجهة مستخدم. تعرَّف على الطرق المختلفة التي يمكنك من خلالها عرض النص في تطبيقك لتوفير تجربة رائعة للمستخدم.
تعرَّف على كيفية توفير طرق للمستخدمين للتفاعل مع تطبيقك من خلال إدخال نص واستخدام وسائل إدخال أخرى.

إذا كانت لديك أسئلة أو ملاحظات

يمكنك الانتقال إلى صفحة الأسئلة الشائعة والاطّلاع على الأدلة السريعة أو التواصل معنا وإعلامنا برأيك.