نحوه اعتبارسنجی Edit Text در اندروید

دوشنبه 16 آذر 1394

در این مقاله قصد داریم در مورد Validate Edite Text توضیح دهیم، که چگونه برای EditText خود یک (اعتبارسنجی)validation قرار دهیم.

نحوه اعتبارسنجی  Edit Text در اندروید

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

مرحله ی اول ایجاد یک activity به صورت زیر است:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity">
    <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentTop="true"

            android:orientation="horizontal" android:id="@+id/linearLayout2">

        <TextView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textAppearance="?android:attr/textAppearanceLarge"

                android:text="نام کارمند"

                android:id="@+id/textView1"

                android:layout_gravity="center_horizontal|top"

                android:layout_alignParentTop="true"

                android:layout_toRightOf="@+id/linearLayout2"/>

        <EditText

                android:layout_width="200dp"

                android:layout_height="wrap_content"

                android:inputType="textPersonName"

                android:text=""

                android:id="@+id/editText1"

                android:layout_gravity="center_horizontal|top"

                android:layout_alignTop="@+id/linearLayout2"

                android:layout_alignParentRight="true"/>

    </LinearLayout>



    <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginTop="80dp"

            android:orientation="horizontal" android:id="@+id/linearLayout">



        <TextView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textAppearance="?android:attr/textAppearanceLarge"

                android:text="کلمه عبور"

                android:id="@+id/textView"

                android:layout_gravity="center_horizontal|top"

                android:layout_alignParentTop="true"

                android:layout_toRightOf="@+id/linearLayout2"/>



        <EditText

                android:layout_width="200dp"

                android:layout_height="wrap_content"

                android:inputType=""

                android:text=""

                android:id="@+id/editText2"

                android:layout_marginLeft="40dp" android:layout_gravity="center_horizontal|top"

                android:layout_alignTop="@+id/linearLayout2"

                android:layout_alignParentRight="true"/>



    </LinearLayout>



    <Button

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="ثبت نام"

            android:id="@+id/button"

            android:layout_below="@+id/linearLayout"

            android:layout_centerHorizontal="true"

            android:layout_marginTop="31dp"/>


    ></RelativeLayout>

در مرحله ی بعدی کلاس جاوا است که باید به صورت زیر باشد:

اول از همه تعریف ابزار هایی که در صفحه استفاده شده است:

  EditText NameEditText,editTextPhoneNumber,wordEditText;

    TextView textViewName,textViewAge,textViewword;

    Button RegistrationButton;

مرحله ی بعد معرفی ابزار تعریف شده به صورت زیر:

RegistrationButton = (Button) findViewById(R.id.button);

        NameEditText = (EditText) findViewById(R.id.editText1);

        wordEditText = (EditText) findViewById(R.id.editText2);

در ادامه Edittext را که استفاده کرده ایم، یک متد requestfocus استفاده می نماییم، که textview را چک می کند و پیغام خطا را به کاربر می دهد.

  RegistrationButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                final String Name = NameEditText.getText().toString();

                final String word = wordEditText.getText().toString();

                if (Name.length() == 0)

                {
                    NameEditText.requestFocus();
                    NameEditText.setError("لطفا فیلد مورد نظر را پر نمایید");
                } else if (!Name.matches("[a-zA-Z ]+")) {
                    NameEditText.requestFocus();
                    NameEditText.setError("لطفا فقط حروف الفبا را وارد نمایید");
                } else if (word.length() == 0) {
                    wordEditText.requestFocus();
                    wordEditText.setError("لطفا فیلد مورد نظر را پر نمایید");
                }
                else
                {
                    Toast.makeText(MyActivity.this,"اعتبار سنجی موفقیت آمیز ",Toast.LENGTH_LONG).show();
                }
            }
        });

کل کد به صورت زیر خواهد بود:

import android.app.Activity;
import android.os.Bundle;
import android.os.Bundle;
import android.app.Activity;

import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MyActivity extends Activity {
    EditText NameEditText,editTextPhoneNumber,wordEditText;

    TextView textViewName,textViewAge,textViewword;

    Button RegistrationButton;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        RegistrationButton = (Button) findViewById(R.id.button);

        NameEditText = (EditText) findViewById(R.id.editText1);

        wordEditText = (EditText) findViewById(R.id.editText2);

        RegistrationButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                final String Name = NameEditText.getText().toString();

                final String word = wordEditText.getText().toString();

                if (Name.length() == 0)

                {
                    NameEditText.requestFocus();
                    NameEditText.setError("لطفا فیلد مورد نظر را پر نمایید");
                } else if (!Name.matches("[a-zA-Z ]+")) {
                    NameEditText.requestFocus();
                    NameEditText.setError("لطفا فقط حروف الفبا را وارد نمایید");
                } else if (word.length() == 0) {
                    wordEditText.requestFocus();
                    wordEditText.setError("لطفا فیلد مورد نظر را پر نمایید");
                }
                else
                {
                    Toast.makeText(MyActivity.this,"اعتبار سنجی موفقیت آمیز ",Toast.LENGTH_LONG).show();
                }
            }
        });
    }
}

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید