অ্যান্ড্রয়েড: আমি কীভাবে সম্পাদনা পাঠ্য ইনপুটটি বৈধতা দিতে পারি?


169

আমাকে সম্পাদনা ਪੱਤਰগুলির একটি সিরিজে ফর্ম ইনপুট বৈধতা করতে হবে। আমি প্রত্যেকের মধ্যে ব্যবহারকারী টাইপের পরে বৈধতাটি ট্রিগার করতে অনফোকস চেঞ্জলিস্টেনার ব্যবহার করছি, তবে এটি শেষ সম্পাদনা পাঠের জন্য পছন্দসই আচরণ করে না।

চূড়ান্ত এডিটেক্সট টাইপ করার সময় যদি আমি "সম্পন্ন" বোতামটিতে ক্লিক করি তবে ইনপুটমেথড সংযোগ বিচ্ছিন্ন হয়ে যায়, তবে প্রযুক্তিগতভাবে ফোকাস এডিট টেক্সটটিতে কখনই হারিয়ে যায় না (এবং তাই বৈধতা কখনই ঘটে না)।

সবচেয়ে ভাল সমাধান কি?

ফোকাস পরিবর্তনের পরিবর্তে যখন প্রতিটি সম্পাদনা পাঠ থেকে ইনপুটমথড আনবিন্ড করে তখন আমার কি নজরদারি করা উচিত? যদি তাই হয়, কিভাবে?


1
ব্যবহারকারী টাইপ করার সাথে সাথে সম্পাদনা পাঠ্য ইনপুটটি সত্যায়িত করার দরকার আছে কি? সম্পন্ন বোতামটিতে ব্যবহারকারী ক্লিক করার পরে আপনি কেবল সম্পাদনা পাঠকে কেন বৈধতা দেবেন না?
ক্রিশ্চিয়ান

ঠিক এটিই আমি চাই: ব্যবহারকারী যখন সম্পন্ন বোতামটি ক্লিক করেন তখন পাঠ্যটি যাচাই করার জন্য (ডোন বোতাম দ্বারা আমি কিউওয়ার্টি ইনপুট ম্যানেজারের "সম্পন্ন" বোতামটি বুঝি ... ফর্মের জমা বোতামটি নয়)। বাদে আমি যখন সম্পন্ন বোতামটি টিপব তখন ফর্মের শেষ উপাদানটিতে ফোকাস থাকে এবং আমার বৈধকরণের পদ্ধতিটি কখনই ট্রিগার হয় না। আশা করি আমার কথাটি পরিষ্কার হয়ে গেছে ...
স্টেফান

@Cristian এর সমাধান ঠিক কি আমি খুঁজছিলাম এবং এখানে পাওয়া যায়: stackoverflow.com/questions/43013812/...
LampPost

@ ক্রিশ্চিয়ান কিছুটা দেরি করে আসছেন, তবে আমি এমন একটি সমাধান খুঁজছি যেখানে ব্যক্তি টাইপ করার সময় এডিটেক্সটটি বৈধ হয়। আমি প্রবেশ করুন / নিবন্ধন ফর্ম আছে এবং আমি "জমা দিন" বোতামে দেখাতে চান শুধুমাত্র যখন ফর্ম তথ্য বৈধ।
জোনকার.ইন.জেনেভা

উত্তর:


154

আপনি ব্যবহার করবেন না কেন TextWatcher?

যেহেতু আপনার কাছে EditTextবৈধ হওয়ার জন্য বেশ কয়েকটি বাক্স রয়েছে, তাই আমি মনে করি নিম্নলিখিতগুলি আপনার পক্ষে উপযুক্ত হবে:

  1. আপনার ক্রিয়াকলাপ android.text.TextWatcherইন্টারফেস প্রয়োগ করে
  2. আপনি আপনার সম্পাদনা পাঠ্য বাক্সগুলিতে পাঠ্য-পরিবর্তিত শ্রোতাদের যুক্ত করুন
txt1.addTextChangedListener(this);
txt2.addTextChangedListener(this);
txt3.addTextChangedListener(this);
  1. ওভাররাইড হওয়া পদ্ধতিগুলির মধ্যে আপনি নীচের afterTextChanged(Editable s)পদ্ধতিটি ব্যবহার করতে পারেন
@Override
public void afterTextChanged(Editable s) {
    // validation code goes here
}

Editable sসত্যিই যা editText বক্স টেক্সট পরিবর্তিত হচ্ছে এটি সাহায্য করে না। তবে আপনি সরাসরি সম্পাদনা পাঠ্য বাক্সগুলির সামগ্রীগুলি সরাসরি পরীক্ষা করতে পারেন

String txt1String = txt1.getText().toString();
// Validate txt1String

একই পদ্ধতিতে। আমি আশা করি আমি পরিষ্কার এবং আমি যদি থাকি তবে এটি সাহায্য করে! :)

সম্পাদনা করুন: একটি পরিচ্ছন্ন পদ্ধতির জন্য নীচে ক্রিস্টোফার পেরির উত্তরটি দেখুন।


3
এটি দেখতে আমার ঠিক যেমন দেখাচ্ছে। টেক্সট ওয়াচারের কথা শুনিনি (এসডিকে / এপিআই-তে নতুন), তবে আমি এটি পরীক্ষা করে দেখব এবং এটি আমার মনে হয় যেভাবে এটি করবে সেভাবে আচরণ করে কিনা। তথ্যের জন্য ধন্যবাদ!
স্টিফান

1
আপনাকে স্বাগতম! :) এখন আপনি এটি যাচাই করছেন, আপনি কীভাবে আপনি কীভাবে বৈধতা ব্যর্থতার বিষয়ে ব্যবহারকারীকে অবহিত করবেন তা ভাগ করে নিতে পারেন? আমি বর্তমানে এর জন্য সেরা পদ্ধতির সন্ধান করছি।
নাইস

নিখিল পাতিল, আমি টোস্টটি ব্যবহার করে ব্যবহারকারীকে জানাতে পারি যে তারা কিছু ভুল করেছে। এটি আপনার ক্ষেত্রে কার্যকর হবে না এমন কোনও কারণ আছে কি?
ইয়েগজেনি সিমকিন 21

5
অবশ্যই, টোস্ট অ্যান্ড্রয়েডের একটি প্রাকৃতিক উপায়। কিন্তু যখন আমরা পর্দায় উপাদান যা প্রয়োজন বৈধতা, toasts সঠিক পছন্দ হবে বলে মনে হচ্ছে না যথেষ্ট পরিমাণ আছে। (এই প্রোগ্রামটিতে, এটি ব্যবহারকারী বিরক্ত হবে) আমি TextView.setError () (নিয়ে পরীক্ষা-নিরীক্ষা করা হয়েছে developer.android.com / রেফারেন্স / অ্যান্ড্রয়েড / উইজেট /…
নিক্স

1
যদিও টেক্সট ওয়াচারে দুর্বল সমর্থন রয়েছে, এটি কাজ করে ... কিন্ডা!
টিভি

125

টেক্সটওয়াচার আমার স্বাদের জন্য কিছুটা ভার্জোজ, তাই আমি কিছুটা গিলতে সহজ করেছিলাম:

public abstract class TextValidator implements TextWatcher {
    private final TextView textView;

    public TextValidator(TextView textView) {
        this.textView = textView;
    }

    public abstract void validate(TextView textView, String text);

    @Override
    final public void afterTextChanged(Editable s) {
        String text = textView.getText().toString();
        validate(textView, text);
    }

    @Override
    final public void beforeTextChanged(CharSequence s, int start, int count, int after) { /* Don't care */ }

    @Override
    final public void onTextChanged(CharSequence s, int start, int before, int count) { /* Don't care */ }
}

কেবল এটির মতো ব্যবহার করুন:

editText.addTextChangedListener(new TextValidator(editText) {
    @Override public void validate(TextView textView, String text) {
       /* Validation code here */
    }
});

4
@ ফ্রেমমেডেভেনডেলার্স: প্রতি EditTextআইএস-এTextView
নাইস 28:25 '

2
বিমূর্ত বিমূর্ততা এবং বিমূর্ত শ্রেণির ব্যবহার
সাহের আহওয়াল

1
@ ফুলমিরিফিক সম্ভবত সম্ভবত আপনি আপনার সম্পাদনা পাঠ প্রবর্তন করেন নি। addTextChangedListenerআপনার সম্পাদনাটি ভিউ থেকে সমাধান করার পরে আপনি কল করছেন তা নিশ্চিত করুন
ঘোস্টলি

1
@ স্টাফেনইবার্ট এটি একটি বেনাম শ্রেণি
ক্রিস্টোফার পেরি

2
অনুশীলনে ইন্টারফেস বিভাজন নীতি
ম্যাকিয়েজ বেমসেক

92

আপনি যদি ভাল বৈধতা পপআপ এবং চিত্রগুলি চান যখন কোনও ত্রুটি দেখা দেয় আপনি ক্লাসের setErrorপদ্ধতিটি এখানেEditText বর্ণিত হিসাবে ব্যবহার করতে পারেন

সংযুক্ত পোস্টের লেখক ডন ফেলকারের কাছ থেকে নেওয়া সেটএররারের স্ক্রিনশট


দুটি এডিটটেক্সট অ্যাক্সেস করার জন্য আপনি কীভাবে একটি টেক্সট ওয়াচার পাবেন ? আমি আমার সাথে সাফল্যের সাথে একটি টেক্সট ওয়াচার যুক্ত করেছি passwordConfirmTextField, তবে আমার অন্যটির উল্লেখ করা দরকার passwordTextField, তাই আমি সেগুলি তুলনা করতে পারি। কোনও পরামর্শ?
জোনকার.ইন.জেনেভা

26

বৈধতা যুক্তির ভার্বোসটি হ্রাস করার জন্য আমি অ্যান্ড্রয়েডের জন্য একটি লাইব্রেরি লিখেছি । এটি টীকা এবং অন্তর্নির্মিত বিধিগুলি ব্যবহার করে দিনের বৈধতার জন্য দিনের বেশিরভাগ অংশের যত্ন নেয়। সেখানে যেমন সীমাবদ্ধতা আছে @TextRule, @NumberRule, @Required, @Regex, @Email, @IpAddress,@Password , ইত্যাদি

আপনি আপনার ইউআই উইজেট রেফারেন্সগুলিতে এই টীকাগুলি যুক্ত করতে পারেন এবং বৈধতাগুলি সম্পাদন করতে পারেন। এটি আপনাকে অবিচ্ছিন্নভাবে যাচাইকরণের অনুমতি দেয় যা রিমোট সার্ভার থেকে অনন্য ব্যবহারকারীর নাম পরীক্ষা করার মতো পরিস্থিতিতে আদর্শ।

টীকাগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে প্রকল্পের হোম পৃষ্ঠায় একটি উদাহরণ রয়েছে । আপনি সম্পর্কিত ব্লগ পোস্টটি পড়তে পারেন যেখানে আমি বৈধতার জন্য কাস্টম বিধি কীভাবে লিখব সে সম্পর্কে নমুনা কোড লিখেছি।

এখানে একটি সাধারণ উদাহরণ যা লাইব্রেরির ব্যবহার চিত্রিত করে।

@Required(order = 1)
@Email(order = 2)
private EditText emailEditText;

@Password(order = 3)
@TextRule(order = 4, minLength = 6, message = "Enter at least 6 characters.")
private EditText passwordEditText;

@ConfirmPassword(order = 5)
private EditText confirmPasswordEditText;

@Checked(order = 6, message = "You must agree to the terms.")
private CheckBox iAgreeCheckBox;

পাঠাগারটি প্রসারযোগ্য, আপনি Ruleক্লাস বাড়িয়ে নিজের বিধিগুলি লিখতে পারেন ।


এই গ্রন্থাগারটি কবজির মতো কাজ করে। কিন্তু @ টেক্সটআরল টীকাগুলি 2.0.0 সংস্করণ থেকে সরানো হয়েছে?
LTroya

1
এটি @Lengthটীকা সহ প্রতিস্থাপন করা হয়েছে ।
রাগুনাথ জওহর

@ রাগুনাথ জওহর আমি উল্লেখ করেছি যে আপনি আগত ডেটা বৈধতা দিলে বৈধতা কার্যকর হয় না, অর্থাত্ যোগাযোগ, সুতরাং আমি ইমেইল যা ইন্টেন্ট -> পরিচিতিগুলি থেকে এসেছে তা বৈধ করার চেষ্টা করছি, তবে একবার আমি সম্পাদনা পাঠ্যগুলিতে ফোকাস করে কোনও পাঠ্য যোগ / মুছুন তারপরে বৈধতা বৈধতা হিসাবে কাজ করে যেমন পাঠ্য চেঞ্জেও ডেকে আনা হয় এবং যখন আমরা পরিচিতি থেকে ডেটা পাই তখন বৈধতা ()ও ডাকা হয়।
রোনাক মেহতা

11

এটি এখান থেকে দুর্দান্ত সমাধান ছিল

InputFilter filter= new InputFilter() { 
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
        for (int i = start; i < end; i++) { 
            String checkMe = String.valueOf(source.charAt(i));

            Pattern pattern = Pattern.compile("[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789_]*");
            Matcher matcher = pattern.matcher(checkMe);
            boolean valid = matcher.matches();
            if(!valid){
                Log.d("", "invalid");
                return "";
            }
        } 
        return null; 
    } 
};

edit.setFilters(new InputFilter[]{filter}); 

আমি কীভাবে এটি স্থানের সাথে ব্যবহার করব এবং একে অপরের পাশে কোনও দুটি স্থান সীমাবদ্ধ করব না?
চিরু

10

আপডেট হওয়া পদ্ধতির - টেক্সটইনপুটলআউট:

গুগল সম্প্রতি ডিজাইন সমর্থন লাইব্রেরি চালু করেছে এবং এখানে টেক্সটইনপুটলয়আউট নামে একটি উপাদান রয়েছে এবং এটি setErrorEnabled(boolean)এবং এর মাধ্যমে একটি ত্রুটি দেখানো সমর্থন করে setError(CharSequence)

এটি কিভাবে ব্যবহার করতে?

পদক্ষেপ 1: আপনার সম্পাদনা পাঠ্যটিকে টেক্সটইনপুটলয়েট দিয়ে মুড়িয়ে দিন:

  <android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layoutUserName">

    <EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="hint"
      android:id="@+id/editText1" />

  </android.support.design.widget.TextInputLayout>

পদক্ষেপ 2: ইনপুট বৈধ করুন

// validating input on a button click
public void btnValidateInputClick(View view) {

    final TextInputLayout layoutUserName = (TextInputLayout) findViewById(R.id.layoutUserName);
    String strUsername = layoutLastName.getEditText().getText().toString();

    if(!TextUtils.isEmpty(strLastName)) {
        Snackbar.make(view, strUsername, Snackbar.LENGTH_SHORT).show();
        layoutUserName.setErrorEnabled(false);
    } else {
        layoutUserName.setError("Input required");
        layoutUserName.setErrorEnabled(true);
    }
}

আমি আমার গিথুব সংগ্রহস্থলের উপরে একটি উদাহরণ তৈরি করেছি , আপনি যদি চান তবে উদাহরণটি দেখুন!


সেরা উত্তর, কিন্তু আমি ব্যবহার করতে হয়েছিল com.google.android.material.textfield.TextInputLayout( উপাদান পরিবর্তন লক্ষ্য করুন )। এই উত্তরটি পেয়েছি: stackoverflow.com/a/56753953/900394
আলা এম।

8

আমি এমন একটি ক্লাস লিখেছিলাম যা এডিটেক্সট প্রসারিত করে যা স্থানীয়ভাবে কিছু বৈধতা পদ্ধতি সমর্থন করে এবং আসলে খুব নমনীয়।

বর্তমান, আমি লিখছি, নেটিভ মাধ্যমে সমর্থিত XML বৈশিষ্ট্যাবলী বৈধতা পদ্ধতিগুলি হল:

  1. আরম্ভ
  2. আলফা সংখ্যাসূচক
  3. সাংখ্যিক
  4. জেনেরিক regexp
  5. স্ট্রিং ফাঁকা

আপনি এটি এখানে পরীক্ষা করে দেখতে পারেন

আশা করি তোমারা উপভোগ করবা :)


7

অ্যান্ড্রয়েডে পাঠ্য ইনপুটগুলি বৈধ করার জন্য আমি ইনপুটফিল্টারটিকে আরও উপযুক্ত বলে মনে করি।

এখানে একটি সাধারণ উদাহরণ: আমি কীভাবে ইনপুটফিল্টারটি অ্যান্ড্রয়েডের সম্পাদনা পাঠের অক্ষরে সীমাবদ্ধ করতে ব্যবহার করব?

আপনি আপনার বিধিনিষেধ সম্পর্কে প্রতিক্রিয়া জানাতে একটি টোস্ট যুক্ত করতে পারেন। অ্যান্ড্রয়েড: ইনপুট টাইপ ট্যাগ আউটও দেখুন।


1
এটি টাইপ করার সাথে সাথে যাচাইযোগ্য হতে পারে এমন জিনিসগুলির জন্য এটি একটি দুর্দান্ত সমাধান (আলফা সংখ্যাসূচক ইনপুট), তবে এটি ব্যবহারকারীদের ইনপুট (ইমেল ঠিকানা) প্রবেশ করানোর পরে কেবল বৈধ হওয়া উচিত for
পিটার আজতাই

আপনি কীভাবে এই টোস্টটি ট্রিগার করবেন? ফিল্টারটি কোনও পাঠ্যপালককে প্রতিক্রিয়া করা থেকে বাধা দেয় ... সম্ভবত কোনওকিসিলেস্টনার দিয়ে?
স্প্যান

আমি ফিল্টার () পদ্ধতি (ইনপুটফিলার ক্লাসে) থেকে যদি টোস্টটি আইএফ শর্তে ট্রিগার করেছিলাম।
মাইসস

6

আমার মানগুলি এক ক্ষেত্রে স্বাক্ষরিত ফ্লোটিং পয়েন্টের মান এবং অন্যটিতে ভাসমান বিন্দুতে স্বাক্ষর করে তা পরীক্ষা করার জন্য আমার আন্ত-ক্ষেত্রের বৈধতা এবং আন্তঃ-ক্ষেত্রের বৈধতা থাকা দরকার। আমার জন্য যা কাজ করে বলে মনে হচ্ছে তা এখানে:

    <EditText
        android:id="@+id/x" 
        android:background="@android:drawable/editbox_background" 
        android:gravity="right" 
        android:inputType="numberSigned|numberDecimal" 
    />

দ্রষ্টব্য, আপনার "নম্বরসাইনড | সংখ্যাডেসিমাল" এর ভিতরে কোনও স্পেস থাকতে হবে না। উদাহরণস্বরূপ: "numberSided | numberDecimal" কাজ করবে না। আমি নিশ্চিত না কেন।


5

এটিকে সত্যিই প্রতিশ্রুতিবদ্ধ এবং ডক আমার জন্য ঠিক কী আদেশ করেছেন:

সম্পাদনা পাঠ্য যাচাইকারী

    public void onClickNext(View v) {
    FormEditText[] allFields    = { etFirstname, etLastname, etAddress, etZipcode, etCity };
    
    
    boolean allValid = true;
    for (FormEditText field: allFields) {
        allValid = field.testValidity() && allValid;
    }
    
    if (allValid) {
        // YAY
    } else {
        // EditText are going to appear with an exclamation mark and an explicative message.
    }
}

কাস্টম ভ্যালিডিটার প্লাস এতে অন্তর্নির্মিত:

  • regexp : কাস্টম regexp জন্য
  • সংখ্যাসূচক : একমাত্র সংখ্যাযুক্ত ক্ষেত্রের জন্য
  • আলফা : একটি আলফা শুধুমাত্র ক্ষেত্রের জন্য
  • বর্ণমালা : কি অনুমান?
  • personName : প্রবেশ করানো পাঠ্যটি কোনও ব্যক্তি প্রথম বা শেষ নাম কিনা তা পরীক্ষা করে।
  • ব্যক্তিফুলনাম : প্রবেশ করানো মানটি পুরো পুরো নাম কিনা তা পরীক্ষা করে।
  • ইমেল : ক্ষেত্রটি একটি বৈধ ইমেল কিনা তা পরীক্ষা করে
  • ক্রেডিটকার্ড : চেক করে যে ফিল্ডটিতে লুহান অ্যালগোরিদম ব্যবহার করে একটি বৈধ ক্রেডিট কার্ড রয়েছে
  • ফোন : ক্ষেত্রটিতে একটি বৈধ ফোন নম্বর রয়েছে তা পরীক্ষা করে
  • ডোমেইননাম : এই ক্ষেত্রটিতে একটি বৈধ ডোমেন নাম রয়েছে তা পরীক্ষা করে (সর্বদা এপিআই লেভেল <8 এ পরীক্ষা পাস করে)
  • আইপিএড্রেস : ক্ষেত্রটিতে একটি বৈধ আইপি ঠিকানা রয়েছে তা পরীক্ষা করে
  • ওয়েবআরএল : ক্ষেত্রটিতে একটি বৈধ ইউআরএল রয়েছে তা পরীক্ষা করে (সর্বদা এপিআই লেভেল <8 এ পরীক্ষায় উত্তীর্ণ হয়)
  • তারিখ : ক্ষেত্রটি একটি বৈধ তারিখ / তারিখের সময় বিন্যাস যাচাই করে (যদি কাস্টমফর্ম্যাট সেট করা থাকে তবে কাস্টমফর্ম্যাট সহ চেক করা হয়)
  • নকশাক : এটি ক্ষেত্র শূন্যতা ব্যতীত অন্য কিছু পরীক্ষা করে না।

2

মেইন.এমএমএল ফাইলটিতে

আপনি কেবলমাত্র বর্ণমালার অক্ষরকে এডিটেক্সট-এ গ্রহণ করতে পারবেন তা বৈধ করতে নীচের অনুগ্রহটি রাখতে পারেন put

এটা কর :

  android:entries="abcdefghijklmnopqrstuvwxyz"

2

আপনি কীবোর্ডের "সম্পন্ন" বোতামটি হিট করার সময় আপনি শুনতে শুনে কাঙ্ক্ষিত আচরণ পেতে পারেন, আমার পোস্টে সম্পাদনা পাঠের সাথে কাজ করার বিষয়ে অন্যান্য টিপসও "আন্ড্রয়েড ফর্মের বৈধতা - সঠিক উপায়"

কোডের উদাহরণ:

mTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {                    
            validateAndSubmit();
            return true;
        }
        return false;
    }});  

0

ইমেল এবং পাসওয়ার্ড বৈধতা চেষ্টা

  if (isValidEmail(et_regemail.getText().toString())&&etpass1.getText().toString().length()>7){
      if (validatePassword(etpass1.getText().toString())) {
      Toast.makeText(getApplicationContext(),"Go Ahead".....
      }
      else{

       Toast.makeText(getApplicationContext(),"InvalidPassword".....
       }

}else{

 Toast.makeText(getApplicationContext(),"Invalid Email".....
}


public boolean validatePassword(final String password){
    Pattern pattern;
    Matcher matcher;
    final String PASSWORD_PATTERN = "^(?=.*[0-9])(?=.*[A-Z])(?=.* 
    [@#$%^&+=!])(?=\\S+$).{4,}$";
    pattern = Pattern.compile(PASSWORD_PATTERN);
    matcher = pattern.matcher(password);

    return matcher.matches();
}

public final static boolean isValidEmail(CharSequence target) {
    if (target == null)
        return false;

    return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}

-2

আমি এই লাইব্রেরিটি অ্যান্ড্রয়েডের জন্য তৈরি করেছি যেখানে আপনি কোনও উপাদান নকশা এডিটেক্সট ভিতরে অভ্যন্তর এবং এডিট টেক্সট লেআউট সহজেই পছন্দ করতে পারেন:

    compile 'com.github.TeleClinic:SmartEditText:0.1.0'

তাহলে আপনি এটি এর মতো ব্যবহার করতে পারেন:

<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText
    android:id="@+id/passwordSmartEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:setLabel="Password"
    app:setMandatoryErrorMsg="Mandatory field"
    app:setPasswordField="true"
    app:setRegexErrorMsg="Weak password"
    app:setRegexType="MEDIUM_PASSWORD_VALIDATION" />

<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText
    android:id="@+id/ageSmartEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:setLabel="Age"
    app:setMandatoryErrorMsg="Mandatory field"
    app:setRegexErrorMsg="Is that really your age :D?"
    app:setRegexString=".*\\d.*" />

তারপরে আপনি এটি বৈধ কিনা তা পরীক্ষা করতে পারেন:

    ageSmartEditText.check()

আরও উদাহরণ এবং অনুকূলিতকরণের জন্য সংগ্রহস্থলটি https://github.com/TeleClinic/SmartEditText দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.