Home / Android-Entwicklung / Das Android Arsenal – Validierung

Das Android Arsenal – Validierung

ValidationEditText

Dies ist eine einfache Bibliothek, die die benutzerfreundliche Textüberprüfung und Fehlerbehandlung in EditText mit (TextInputLayout-Unterstützung) erleichtert. Stellen Sie für den MVVM + -Datenbindungsstapel

Integration

sicher, dass Sie im Stammverzeichnis build.gradle das folgende Repository angegeben haben, um ValidationEditText zu Ihrem Projekt hinzuzufügen:


     Aufbewahrungsorte {
        jcenter ()
    } 

Hinweis : Wenn Sie ein neues Projekt in Android Studio erstellen, wird standardmäßig das Repository jcenter angegeben, sodass Sie es nicht manuell hinzufügen müssen. Nachdem Sie sichergestellt haben, dass Ihr Projekt das Repository jcenter enthält, müssen Sie lediglich die folgende Zeile in den Abschnitt Abhängigkeiten Ihres Projekts build.gradle einfügen. . Siehe die neueste Bibliotheksversion

 Implementierung  ' com.github.vitaliyptitsyn: validationedittext: X.X.X ' 

Beschreibung der Verwendung

Verwendung von ValidationEditText [19459011istziemlicheinfachGenauwiebeiregelmäßigenDatenbindungsveranstaltungenSiemüssenLiveDatabindendiedasModellmitderBenutzeroberflächeverbindenundValidierungsregelnbereitstellen

Bindung

Sie können auf zwei Arten eine Verbindung mit der Benutzeroberfläche herstellen: über VET_validation_result oder VET_validation_text . In VET_validation_text enthält die Ansicht Text, und es wird nur ein Benutzerfehler angezeigt. In VET_validation_result müssen Sie ValidateResult in Ihre Live-Daten einbinden. Und App: VET_validation_result = "@ = {vm.liveName} im Layout.

 Daten  Klasse  ValidateResult 
 (
     val  originalText :  String  //  Text an View-App übermittelt: VET_validation_result = "@ = {vm.liveName}" 
val [19659017]  errorText:  String?  =  null  //  In der Ansicht angezeigter Text. 
 val  isValid :  Boolean  =  false 


)

Regeln

Es gibt zwei Möglichkeiten, Regeln bereitzustellen: Bereitstellen der Liste VET_validationRules die die Liste akzeptiert (Liste des Validators kann dynamisch sein). Oder Verwenden Sie Listenattribute für den gemeinsamen Validator. Sie können sie unterschiedlich kombinieren. (Validatoren aus dem XML)

         < Daten 
>
            < import  type  =  " com.pvitaliy.validation text.rules.ContentValidation " 
  />
        </  data 

>

        < com 
 .google.android.material.textfield.TextInputEditText
                        




                  app: VET_show_error_mode = "@ {vm.liveShowOnEdit}"
                  app: VET_validation_content = "@ {ContentValidation.NOT_EMPTY}"
                  app: VET_validation_result = "@ = {vm.liveName}"
                  tools: text = "18,6" /> 

Validator-Text:

Name Verhalten
VET_validation_content Nehmen Sie das Feld ContentValidation E-Mail oder NotEmpty_lth
VET_validation_lth (kann nur eine akzeptieren) Minimale und maximale Länge validieren
VET_validation_rule 1 benutzerdefinierte Regel übernehmen
VET_validate_equal (optional) VET_validate_equal_on_b. [19VergleichenSiedieTextgleichheitWenn VET_validate_equal_on_both = @ {true} Fehler in beiden Ansichten angezeigt wird.

Fehleranzeige

Sie können die Fehleranzeige in der Benutzeransicht anpassen, indem Sie einen Fehlermodus auswählen. Sie können den Fehlermodus auch dynamisch ändern. Zum Beispiel. Wenn der Benutzer auf Anmelden klickt, muss die Eingabe (E-Mail und Kennwort) überprüft und dem Benutzer eine Ausnahme angezeigt werden. Setzen Sie dazu VET_show_error_mode auf ErrorMode.Once die Validierung wird sofort ausgelöst und nach Änderung des Validierungsmodus auf nextMode vom Validator (siehe Beispielprojekt) [19659042] Name Verhalten ErrorMode.None Fehler wird in EditText nicht angezeigt. ErrorMode.OnUserInput Wird nur angezeigt, wenn die Ansicht den Fokus und die Eingabe des Benutzers hat. ErrorMode.Always 19659045] validiert immer das Ergebnis (Ereignis, wenn Sie einen Wert zur Laufzeit senden). ErrorMode.Once Das interessanteste Format. Der Text wird einmal validiert, und der Modus wird entsprechend dem Feld nextMode eingestellt.

Fehler und Meldung anpassen

Um eine eigene Validierungsregel zu erstellen, implementieren Sie ValidationRule und werfen Sie eine ValidationException in validate func, wenn die Validierung fehlgeschlagen ist. Dann behandelt ValidationConverter den Fehler und zeigt ihn im EditText an. ValidationException verfügt über 3 untergeordnete Klassen. In benutzerdefinierten Validierungsregeln ist der einfachste Weg, eine ResException oder StringException

 offene  Klasse  ErrorCodeException 
 (
     open  val  errorCode :  Int 
,
     open  vararg  val  args :  any? 

) :  ValidationException 

 ()

 offen  Klasse  StringException  ( val  Grund :  String ) :  ValidationException 

 ()

 offene  Klasse  ResException 
 (
     @StringRes  val  resString :  Int 
,
     vararg  val  args :  Irgendwelche? 

) :  ValidationException  () 

Um die Fehlermeldung zu überschreiben, geben Sie benutzerdefinierte ValidationConvector von VET_validation_converter

Lizenz














 Copyright 2019 Vitaliy Ptitsyn

Lizenziert unter der Apache-Lizenz, Version 2.0 (die "Lizenz");
Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden.
Eine Kopie der Lizenz erhalten Sie unter

    http://www.apache.org/licenses/LICENSE-2.0

Sofern nicht gesetzlich vorgeschrieben oder schriftlich vereinbart, Software
unter der Lizenz vertrieben wird auf einer "AS IS" -Basis verteilt,
OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER Art, entweder ausdrücklich oder stillschweigend.
In der Lizenz finden Sie die spezifische Sprache für die Berechtigungen und
Einschränkungen unter der Lizenz.

.

About AndroidWeltEditor

Check Also

Wie Android-Entwickler Benutzer auf jedem Gerät erreichen können

Gepostet von Allan Livingston, Produktmanagementdirektor, Chrome OS App Ecosystem Android unterstützt mobile Apps auf Geräten, …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.