نحوه اعتبارسنجی Edit Text در اندروید
دوشنبه 16 آذر 1394در این مقاله قصد داریم در مورد Validate Edite Text توضیح دهیم، که چگونه برای EditText خود یک (اعتبارسنجی)validation قرار دهیم.
در بعضی مواقع لازم است که کاربران تمام فیلد های موجود را در اپلیکیشن خود وارد نمایند، و اگر کاربر دکمه ی ثبت را زد تا زمانی که فیلد مورد نظر وارد نشده است، مرحله ادامه پیدا نکند.
مرحله ی اول ایجاد یک 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(); } } }); } }
- Android
- 3k بازدید
- 2 تشکر