Zum Inhalt springen
rdlabo.devdocs

require-ion-error-text

Verlangt eine errorText-Quelle für Ionic-Validierungsbedienelemente.

Verlangt eine Quelle für errorText an Ionic-Bedienelementen, die an der Validierung von Angular Signal Forms teilnehmen.

Einzelheiten der Regel

Die Regel prüft folgende Ionic-Bedienelemente in Angular-Templatedateien:

  • ion-input
  • ion-textarea
  • ion-select
  • ion-checkbox
  • ion-radio-group
  • ion-toggle

Standardmäßig wird ein unterstütztes Bedienelement nur geprüft, wenn es Angular Signal Forms mit [formField] bindet. Es muss eine der folgenden Fehlertextquellen verwenden:

  • Einen nicht leeren statischen errorText
  • Einen per Property gebundenen [errorText]
  • KitIonicFormField, wenn formFieldProvidesErrorText aktiviert ist

[attr.errorText] wird nicht akzeptiert, da Ionic errorText als Komponentenproperty bereitstellt. Auch ein leerer oder ausschließlich aus Leerraum bestehender statischer Wert wird zurückgewiesen. .spec.html-Dateien werden ignoriert.

Optionen

{
  "rules": {
    "@rdlabo/rules/require-ion-error-text": [
      "error",
      {
        "formFieldProvidesErrorText": true,
        "checkAll": false,
        "ignoreReadonly": false
      }
    ]
  }
}

formFieldProvidesErrorText

  • Typ: boolean
  • Standard: false

Bei true darf ein unterstütztes Bedienelement mit [formField] errorText weglassen, da KitIonicFormField es bereitstellt. Aktivieren Sie diese Option erst, nachdem jede betreffende Standalone-Komponente KitIonicFormField importiert und die Anwendung provideKitIonicSignalForms() eingerichtet hat.

Diese Option deklariert, dass der Adapter installiert ist. Die Regel untersucht keine Komponentenimports oder Anwendungsprovider. Ein ausdrücklich gesetzter, aber leerer errorText bleibt ein Fehler und fällt nicht auf den Adapter zurück.

checkAll

  • Typ: boolean
  • Standard: false

Bei true prüft die Regel auch unterstützte Bedienelemente ohne [formField]. Dies muss ausdrücklich aktiviert werden, da Filter, Suchfelder und Einstellungsbedienelemente nicht zwingend an der Validierung teilnehmen.

ignoreReadonly

  • Typ: boolean
  • Standard: false

Wenn checkAll und ignoreReadonly beide true sind, werden ion-input und ion-textarea mit einem literalen Attribut readonly ignoriert. Eine dynamische Bindung [readonly] wird weiterhin geprüft, da das Bedienelement zur Laufzeit bearbeitbar werden kann.

Beispiele

Inkorrekt

<ion-input [formField]="fields.name"></ion-input>
<ion-textarea [formField]="fields.description" errorText="   "></ion-textarea>
<ion-select [formField]="fields.category" [attr.errorText]="categoryError"></ion-select>

Mit checkAll: true benötigt ein unterstütztes Bedienelement ohne [formField] ebenfalls eine Fehlertextquelle:

<ion-toggle></ion-toggle>

Korrekt

<ion-input [formField]="fields.name" errorText="Name is required."></ion-input>
<ion-textarea [formField]="fields.description" [errorText]="descriptionError()"></ion-textarea>

Mit formFieldProvidesErrorText: true und installiertem Kit-Adapter:

<ion-select [formField]="fields.category"></ion-select>

Mit checkAll: true und ignoreReadonly: true:

<ion-input readonly></ion-input>

Nicht unterstützte Bedienelemente wie ion-searchbar liegen außerhalb des Regelumfangs:

<ion-searchbar [formField]="fields.query"></ion-searchbar>

Wann die Regel aktiviert werden sollte

Aktivieren Sie diese Regel in Ionic-Angular-Anwendungen, die die Ionic-API errorText für Validierungsrückmeldungen verwenden. Der Standardumfang eignet sich für Angular-Signal-Forms-Anwendungen, da er validierungsgebundene Bedienelemente prüft, ohne unbeteiligten UI-Bedienelementen Fehlermeldungen vorzuschreiben.

Verwenden Sie formFieldProvidesErrorText, wenn die Anwendung allgemeine Validierungsmeldungen an @rdlabo/ionic-angular-kit delegiert. Verwenden Sie checkAll nur, wenn jedes unterstützte Ionic-Bedienelement eine Fehlertextquelle deklarieren soll.

Die Regel meldet lediglich und korrigiert weder die Validierungsrichtlinie der Anwendung noch die Adaptereinrichtung automatisch.

Siehe auch

Implementierung