ব্যবহারকারীর প্রকার হিসাবে ইনপুট যাচাই করুন

ব্যবহারকারী যখন কোনো টেক্সট ফিল্ডে নাম, ইমেল, ঠিকানা বা অন্যান্য যোগাযোগের তথ্য টাইপ করেন, তখন আপনি তার দেওয়া ইনপুট যাচাই করতে পারেন। এই যাচাইকরণ ভুল কমায় এবং আপনার ব্যবহারকারীদের সময় বাঁচায়।

ফলাফল

একটি বৈধ টেক্সট ইনপুট
চিত্র ১. ইমেল ভ্যালিডেটরসহ একটি টেক্সট ইনপুট ফিল্ড, যা একটি বৈধ ইমেল ঠিকানার জন্য কোনো ত্রুটির বার্তা প্রদর্শন করে না।
ত্রুটিসহ একটি অবৈধ টেক্সট ইনপুট
চিত্র ২. একটি টেক্সট ইনপুট ফিল্ড, যেখানে ভুল ইমেইল ঠিকানা প্রবেশ করালে একটি ত্রুটির বার্তা প্রদর্শিত হয়।

সংস্করণ সামঞ্জস্যতা

এই বাস্তবায়নের জন্য আপনার প্রোজেক্টের minSDK অবশ্যই API লেভেল ২১ বা তার বেশি হতে হবে।

নির্ভরশীলতা

ব্যবহারকারী টাইপ করার সাথে সাথে ইনপুট যাচাই করুন।

ফিল্ড ইনপুট প্রদর্শন করতে এবং ব্যবহারকারীর টাইপ করার সময় টেক্সট যাচাই করতে নিম্নলিখিত কোডটি ব্যবহার করুন। যদি তথ্য যাচাই করা না হয়, তাহলে একটি ত্রুটি বার্তা ব্যবহারকারীকে ইনপুটটি সংশোধন করতে সাহায্য করবে।

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 মান true হয়, তাহলে UI ভ্যালিডেশন ত্রুটির অবস্থা বোঝানোর জন্য একটি ভিজ্যুয়াল ইন্ডিকেটর প্রদান করে।
  • একটি সম্পূর্ণ ও সঠিক ইমেল ইনপুট না করা পর্যন্ত কম্পোনেন্টটি "ইমেলের ফরম্যাট ভুল" প্রদর্শন করবে।

যে সংগ্রহগুলিতে এই নির্দেশিকাটি রয়েছে

এই নির্দেশিকাটি বিশেষভাবে নির্বাচিত কুইক গাইড সংকলনগুলোর একটি অংশ, যা অ্যান্ড্রয়েড ডেভেলপমেন্টের বৃহত্তর লক্ষ্যগুলো পূরণ করে:

যেকোনো UI-এর একটি কেন্দ্রীয় অংশ হলো টেক্সট। আপনার অ্যাপে টেক্সট উপস্থাপনের বিভিন্ন উপায় জেনে নিন, যা ব্যবহারকারীকে একটি আনন্দদায়ক অভিজ্ঞতা দেবে।
টেক্সট লিখে এবং অন্যান্য ইনপুট পদ্ধতি ব্যবহার করে ব্যবহারকারীরা কীভাবে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারে, তা বাস্তবায়ন করার উপায়গুলো শিখুন।

কোনো প্রশ্ন বা মতামত থাকলে

আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী পেজে গিয়ে সংক্ষিপ্ত নির্দেশিকাগুলো সম্পর্কে জানুন অথবা আমাদের সাথে যোগাযোগ করে আপনার মতামত জানান।