![]()
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