2016-04-07 11 views
1

Merhaba, Edittetxt'i nasıl doğrulayabileceğimiz konusunda yardım almak istediğinizi umarız Gördüğüm verileri göndermeden önce girilen telefon numarasının doğru olduğundan ve şifrenin de eşleşmesi gerekir Örnekler bir çift ama ben tüm şeyin nasıl çalıştığına dair gerçek bir kavram alamadım. sorun, uygulama çok çöker aşağıdaki gibidir AktiviteAndroid Studio'da düzenle metin onaylama

<android.support.v7.widget.CardView 
      android:id="@+id/card_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="10dp" 
      android:paddingTop="16dp" 
      android:layout_gravity="center"> 
      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:id="@+id/penta_ujumbe" 
       android:text="@string/penta_join" 
       android:textSize="16sp" 
       android:layout_marginTop="16dp"/> 

      <View 
       android:layout_width="match_parent" 
       android:layout_height="1dp" 
       android:background="@android:color/darker_gray" 
       android:layout_marginTop="90dp" /> 

      <EditText 
       android:layout_width="270dp" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="130dp" 
       android:layout_gravity="center_horizontal" 
       android:id="@+id/penta_jina" 
       android:hint="Jina lako" 
       /> 
      <EditText 
       android:layout_width="270dp" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="180dp" 
       android:layout_gravity="center_horizontal" 
       android:id="@+id/penta_simu" 
       android:hint="Namba Ya Simu" 
       android:digits="1,2,3,4,5,6,7,8,9,0,+" 
       /> 

      <EditText 
       android:layout_width="270dp" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="230dp" 
       android:layout_gravity="center_horizontal" 
       android:id="@+id/penta_siri" 
       android:hint="NenoSiri" 
       /> 
      <EditText 
       android:layout_width="270dp" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="280dp" 
       android:layout_gravity="center_horizontal" 
       android:id="@+id/penta_nsiri" 
       android:hint="Rudia Nenosiri" 
       /> 
      <Button 
       android:layout_width="260dp" 
       android:layout_height="wrap_content" 
       android:background="@color/colorPrimary" 
       android:id="@+id/penta_fungua" 
       android:layout_below="@+id/pik_siri" 
       android:layout_marginTop="330dp" 
       android:layout_gravity="center_horizontal" 
       android:text="Fungua akaunti" 
       android:textAllCaps="false" 
       android:textSize="20sp" 
       android:textColor="@color/colorWhite" 
       /> 
     </android.support.v7.widget.CardView> 
    </RelativeLayout> 
</ScrollView> 

kodlardır.

private boolean validate(){ 
    boolean valid = true; 
    String mjina = pikujina.getText().toString(); 
    String mnamba = pikunamba.getText().toString(); 
    String msiri = pikusiri.getText().toString(); 
    String mnsiri = pikunsiri.getText().toString(); 

    if (mjina.isEmpty() || mjina.length() < 3) { 
     pikujina.setError("at least 3 characters"); 
     valid = false; 
     return valid; 
    } 
    if (mnamba.isEmpty() || !isPhoneNumberValid(mnamba)) { 
     pikunamba.setError("enter a valid phone number with your country   code"); 
     valid = false; 
     return valid; 
    } 
    if (msiri.isEmpty() || msiri.length() < 4 || msiri.length() > 10) { 
     pikunsiri.setError("between 4 and 10 alphanumeric characters"); 
     valid = false; 
     return valid; 
    } 
    if (mnsiri.isEmpty() || mnsiri.length() < 4 || mnsiri.length() > 10) { 
     pikunsiri.setError("between 4 and 10 alphanumeric characters"); 
     valid = false; 
     return valid; 
    } 
    if (!msiri.equals(mnsiri)){ 
     pikunsiri.setError("Password do not Match"); 
     pikunsiri.setError("Password do not Match"); 
     valid = false; 
     return valid; 
    } 
    else { 
     return valid; 
    } 


} 


public static boolean isPhoneNumberValid(String phoneNumber) { 

    boolean valid = true; 
    String regex = "^(?:00255|\\+255|0)[6-9][0-9]{9}"; 

    if (!phoneNumber.matches(regex)) { 
     valid = false; 
    } 
    return valid; 
} 

VE BİR EĞER DURUMU İÇİNDE onClick FONKSİYONU İLE BU İŞLEVİ ARAYIN. Burada

 public void onClick(View v) { 
     if(validate()){ 
      Toast.makeText(piku_join.this,"Entered"+pikunamba+"and password entered is",Toast.LENGTH_SHORT).show(); 
     }else { 
      Toast.makeText(piku_join.this,"Failed"+pikunamba+"and password entered is",Toast.LENGTH_SHORT).show(); 

     } 
+0

istediğini ?? –

+0

Düzenleme metnini nasıl doğrulayacağınız lütfen Qn – user3337660

+0

boş kontrole bakın. null kontrol etmek? –

cevap

0

i ben u yardımcı olacağını umuyoruz, bazı EditText doğrulama bunu kontrol söz: Eğer bizden

private boolean validate() { 
    boolean valid = true; 

    String name = et_username.getText().toString(); 
    String email = et_email.getText().toString(); 
    String phone = et_phone.getText().toString(); 
    String password = et_password.getText().toString(); 

    if (name.isEmpty() || name.length() < 3) { 
     et_username.setError("at least 3 characters"); 
     valid = false; 
    } else { 
     et_username.setError(null); 
    } 

    if (email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) { 
     et_email.setError("enter a valid email address"); 
     valid = false; 
    } else { 
     et_email.setError(null); 
    } 
    if (phone.isEmpty() || !isPhoneNumberValid(phone)) { 
     et_phone.setError("enter a valid phone number with your country code"); 
     valid = false; 
    } else { 
     et_phone.setError(null); 
    } 

    if (password.isEmpty() || password.length() < 4 || password.length() > 10) { 
     et_password.setError("between 4 and 10 alphanumeric characters"); 
     valid = false; 
    } else { 
     et_password.setError(null); 
    } 

    return valid; 
} 

public static boolean isPhoneNumberValid(String phoneNumber) { 

    boolean valid = true; 
    String regex = "^(?:0091|\\+91|0)[7-9][0-9]{9}"; 

    if (!phoneNumber.matches(regex)) { 
     valid = false; 
    } 
    return valid; 
} 
+0

Eğer açık yapmak ve aslında neye ilgi duyduğumu anlamak için düzenlemeye çalıştığım düzenlenmiş içeriği lütfen kontrol edebilirsiniz. @ ManishKumar – user3337660

+0

hi i ' Asıl sorununuzu alamıyorum ...... Şimdi bu doğrulamayı kullandığım tüm etkinlikleri paylaşacağım. – Manish

+0

Lütfen Hata Yapın Hata Maalesef uygulamayı durdurdum çünkü @Manish Kumar – user3337660