Search for:

Android Arsenal – Validierung

Dieses Projekt bietet eine einfache und vereinfachte Möglichkeit, TextInputLayoutEditText zu validieren

Installation

  1. Fügen Sie das JitPack-Repository zu Ihrer Build-Datei hinzu
 allprojects {
  repositories {
   ...
   maven { url 'https://jitpack.io' }
  }
 }
  1. Sucht hinzufügen
    dependencies {
         implementation 'com.github.BrianHardyR:TextInputLayoutValidator:1.1.2'
 }

Wie

Einfache Validierung

val myinput = findViewById<TextInputLayout>(R.id.my_input)

myinput.validate(
    default = "my default text",
    validators = listOf(
        { text -> t.isNotEmpty() },
        ...
    ),
    error = "my error text",
    onValid = { validText -> 
        // do something with the valid text
     }
)

Verwendung des Validierungsobjekts

Fehlermeldung für jede Validierungsbedingung
val phoneNumberValidator = TextInputValidator(
    defaultString = "My default text",
    validators = listOf(
        { text -> (text.length > 12) to "Length must be greater than 12"},
        { text -> text.startsWith('+') to "Input must start with '+'"},
        ...
    )
)
Eine Fehlermeldung
val phoneNumberValidator = TextInputValidationObj(
    default = "My default text",
    error = "Please enter a valid phone number",
    validators = listOf(
        { text -> text.length > 12},
        { text -> text.startsWith('+')},
        ...
    )
)

myinput.validate(phoneNumberValidator){ validText ->
    // do something with the valid text
}

Eingabe bestätigen Nachdem Sie das Validierungsobjekt auf TextInputLayout gesetzt haben, können Sie es überall in Ihrem Code überprüfen

myinput.valid() // Return a Boolean.

Android Arsenal – Validierung

Easy-Checker ist eine sehr einfache Bibliothek zur Validierung von Einträgen für Android, die in Kotlina geschrieben und auch über Java-Code leicht zugänglich ist. Sie erhalten viele Validierungsmethoden oder Bibliotheken. Aber die meisten von ihnen sind für diese einfache Aufgabe nicht so einfach, also suchen wir die meiste Zeit nach einer Legacy-If-Else-Kette, um alle Eingabefelder zu überprüfen, und wir alle wissen, wie nervig das ist.

  • Leeres Eingabefeld (Edittext)
  • Bestätigung der Telefonnummer
  • E-Mail-Validierung
  • Passwort Bestätigung
  • Bestätigen Sie die Passwortvalidierung
  • Benutzerdefinierter Validator
  • Varargs zur einfachen Eingabe von Eingabefeldern anstelle von Strings oder Listen
  • Benutzerdefinierte RegEx-Passwortvalidierung
  • Singleton-Klasse zum Entfernen von Objekten und Speicherlecks

Installation

Easy-Checker ermöglicht eine einfache Maven-basierte Installation

Schritt 1:

fügen Sie dies zu Ihrer build.gradle-Stammdatei hinzu

 allprojects {
 repositories {
 maven { url 'https://jitpack.io' }
 }
 }
Schritt 2:

Fügen Sie diese Abhängigkeit der Datei build.gradle auf Anwendungsebene hinzu

implementation 'com.github.mkhan9047:Easy-Checker:1.0.2'

Wie benutzt man?

Die Hauptklasse ist EasyChecker, es ist eine Singleton-Klasse, die nur eine öffentliche Funktion hat, validateInput (), es ist ein supereinfacher Prozess, fügen Sie Tags zum Eingabefeld hinzu, rufen Sie die Funktion mit möglichen Parametern auf!

Bitte fügen Sie android hinzu: tag = “Ihr Feldname” in jedem Eingabefeld (EditText oder TextView), Super einfach, Diese Bibliothek verwendet Tags, um die eigentliche Fehlermeldung auszuwerfen, z. B. “Name darf nicht leer sein” oder “E-Mail ist ungültig”. !
Tipp: Konstante Tags sind “Passwort”, “Telefon”, “E-Mail”, “Passwort bestätigen”. Wenn Sie diese Felder haben, verpassen Sie diese Tags nicht und ändern Sie auch nicht die Tag-Nachricht. Für andere Felder können Sie alles verwenden, was Sie wollen !
   <EditText
        android:id="@+id/firstEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Name"
        android:tag="Name"/>
        
        <EditText
        android:id="@+id/fourthEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Confirm Password"
        android:tag="Confirm Password">

Parameter

  • Kontext
  • Gewünschte Passwortlänge (Ganzzahl, standardmäßig Bereich 4 bis 24)
  • Beispielpasswort für die Passwortüberprüfung mit Regex, ich habe eine benutzerdefinierte Klasse mit einigen regulären Mustern geschrieben, siehe Abschnitt Passwortmuster, wenn Sie kein Passwortmuster verwenden möchten, übergeben Sie null oder PasswordPattern.PASSWORD_PATTERN_NONE
  • Eingabefelder oder TextFields (EditText, TextView) [Pass as much you have one by one It’s varargs]
      try {
              var isValidationSuccess = EasyChecker.validateInput(
                    MainActivity.this,
                    8,
                    PasswordPattern.PASSWORD_PATTERN_NONE,
                    firstNameEditText,
                    lastNameEditText,
                    emailEditText,
                    passwordEditText,
                    confrimPasswordEditText
                )
                /**you can either use the returned boolean or just do the implementaiton 
                here as errors are only thrown in exception blocks
                **/
               doSignUp()
                //or
                if(isValidationSuccess){
                    //if validated
                         doSignUp()
                }else{
                    //if not validated
                }
            } catch (developerErrorException: DeveloperErrorException) {
                //best approach to print in log
                developerErrorException.printStackTrace()
            } catch (inputErrorException: InputErrorException) {
                //best approach is show this to user
                Toast.makeText(
                    this,
                    inputErrorException.message,
                    Toast.LENGTH_LONG
                ).show()
            }

Ausnahmen

Es gibt zwei Arten von Ausnahmen, eine ist DeveloperException und die andere ist InputErrorException. Diese Ausnahmen sind im Grunde verifizierte Ausnahmen, also müssen Sie beide Ausnahmen abfangen.

  • DeveloperException: Grundsätzlich entfällt diese Ausnahme, wenn der Entwickler bei der Implementierung dieser Bibliothek einen Fehler gemacht hat, z. B. das Hinzufügen von “Tag” zum Eingabefeld oder Textfeld oder das Angeben falscher Parameter oder anderes

  • InputErrorException: Diese Ausnahme ist der Hauptvalidierungsfehler des Benutzers. Sie können die eigentliche Nachricht aus der Ausnahme abrufen und dem Benutzer anzeigen. Wenn beispielsweise ein Benutzer kein E-Mail-Feld eingegeben hat, würde er Folgendes erhalten: “E-Mail Feld darf nicht leer sein ! ” oder was auch immer du willst

Passwortmuster

Ich habe eine Klasse mit einer beliebten Regex-Passwortvorlage geschrieben, hier sind die Konstanten:

  • PasswordPattern.PASSWORD_PATTERN_NONE = Verwenden Sie dies, wenn Sie Regex nicht für die Passwortvalidierung verwenden möchten
  • PasswordPattern.PASSWORD_PATTERN_ONE = Mindestens acht Zeichen, mindestens ein Buchstabe und eine Zahl
  • PasswordPattern.PASSWORD_PATTERN_TWO = Mindestens acht Zeichen, mindestens ein Buchstabe, eine Zahl und ein Sonderzeichen
  • PasswordPattern.PASSWORD_PATTERN_THREE = Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Zahl
  • PasswordPattern.PASSWORD_PATTERN_THREE = Mindestens acht Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen

Entwicklung

Möchten Sie einen Beitrag leisten? Toll! Stellen Sie einen Antrag auf Rückzug und geben Sie Ihr Bestes, ich werde bezahlen, wenn es für andere gut ist!

Lizenz

MIT-Lizenz Copyright (c) 2019 Mujahid Khan Hiermit wird jeder Person, die eine Kopie dieser Software und zugehöriger Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung, einschließlich ohne Einschränkung, Geschäfte zu tätigen das Recht, Kopien der Software zu verwenden, zu kopieren, zu modifizieren, zusammenzuführen, zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder Kopien der Software zu verkaufen und die Personen, denen die Software zur Verfügung gestellt wurde, dazu zu ermächtigen, vorbehaltlich der folgenden Bedingungen: Teile der Software.

DIE SOFTWARE WIRD OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG BEREITGESTELLT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE VERKAUFSGARANTIE, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. DIE AUTOREN ODER URHEBERRECHTSVERANTWORTLICHEN HAFTEN UNTER KEINEN UMSTÄNDEN FÜR JEGLICHE ANFRAGE, SCHÄDEN ODER SONSTIGE VERANTWORTUNG, OB IN DER ARBEIT DES VERTRAGES, DER TEILUNG ODER ANDERER, DIE HERVORKOMMEN