Validierung – Referenz
Alle Attribute des Pakets auf einen Blick: was sie prüfen, woher die Meldung kommt und was beim Referenzieren des Pakets zu wissen ist.
Die Rubrik zeigt die Validierungs-Attribute der Basis, je Attribut eine Seite mit Formular und laufender Prüfung. Diese Referenz sagt, welche es gibt, was sie prüfen und aus welchem Paket sie kommen.
Die Attribute auf einen Blick
| Attribut | Namespace | Prüfung | Standardmeldung |
|---|---|---|---|
[DatumBereich] |
Ui.Validation |
Server und Browser | ValidierungResources.ValidationDateTimeRange |
[Email] |
Ui.Validation |
Server und Browser | ValidierungResources.ValidationEmail |
[Ganzzahl] |
Ui.Validation |
Server und Browser | ValidierungResources.ValidationInt |
[NoHtml] |
Ui.Validation |
Server und Browser | ValidierungResources.ValidationHtml |
[Nummer] |
Ui.Validation |
Server und Browser | ValidierungResources.ValidationDecimal |
[RequiredIf] |
Ui.Validation.DataAnnotation |
Server und Browser | keine, ErrorMessage setzen |
[RequiredIfContains] |
Ui.Validation.DataAnnotation |
Server und Browser | keine, ErrorMessage setzen |
[CheckboxRequired] |
Ui.Validation.DataAnnotation |
nur Server | keine, ErrorMessage setzen |
[UniqueId] |
Ui.Validation.DataAnnotation |
keine, Marker für die HTML-id |
– |
Der Namespace ist jeweils FMH.Komponente.Basis. davor, also
FMH.Komponente.Basis.Ui.Validation beziehungsweise …Ui.Validation.DataAnnotation.
Im selben Namespace liegen die Marker-Attribute ohne eigene Prüfung, die den Templates die
Darstellung vorgeben: [AdditionalMetadata], [DisplayAlignment], [DisplayFromViewModel],
[DisplaySupportsHtml], [HelpText] und [EmptyEntry].
Aus welchem Paket die Attribute kommen
Die Attribute liegen seit September 2026 in einem eigenen Paket,
FMH.Komponente.Basis.Validierung. FMH.Komponente.Basis verweist darauf: Wer die Basis
referenziert, bekommt sie unverändert mit, und kein using ändert sich, die Typen haben ihren
Namespace behalten.
| liegt in | was |
|---|---|
FMH.Komponente.Basis.Validierung |
die Attribute, der AdditionalMetadataProvider, die Meldungstexte in ValidierungResources |
FMH.Komponente.Basis |
die Adapter für die Prüfung im Browser (wwwroot/js/validation/…), die EditorTemplates, AddFmhWidgetOptions() |
Zwei Dinge fallen beim Umstieg auf:
- Die fünf Meldungstexte heissen neu
ValidierungResources.Validation…im NamespaceFMH.Komponente.Basis.Resources, vorher_FmhWebMvc.Validation…. Anzupassen ist das nur, wenn die Anwendung einen dieser Texte selbst liest. - Quellkompatibel, aber nicht binärkompatibel. Eine Assembly, die vor der Auftrennung
übersetzt wurde, sucht die Attribute weiter in
FMH.Komponente.Basis. Alle FMH-Pakete gemeinsam heben und einmal vollständig neu bauen, in Visual Studio «Rebuild Solution».
Nur die Attribute referenzieren
Ein Projekt, das nur serverseitig prüfen will, etwa ein reines Modell- oder Dienste-Projekt ohne Views, kann allein das Validierungs-Paket ziehen:
<ItemGroup>
<PackageReference Include="FMH.Komponente.Basis.Validierung" Version="..." />
</ItemGroup>
Es kommt ohne V8, WebOptimizer, Serilog und WebSecurity, dafür fehlt gegenüber dem Regelfall
FMH.Komponente.Basis:
- Die Adapter für den Browser. Geprüft wird erst beim Absenden; während der Eingabe erscheint
keine Meldung.
[CheckboxRequired]verhält sich ohnehin so. - Die EditorTemplates.
Html.EditorForrendert das ASP.NET-Standardfeld ohne FMH-Gerüst, und damit auch ohne die Meldungs- und Hilfetext-Plätze, welche die Attribute füllen. AddFmhWidgetOptions(). Der Metadaten-Anbieter ist dann selbst einzutragen, sonst bleiben[AdditionalMetadata]und die Marker-Attribute wirkungslos. Wie, steht unter Vorbedingungen.
Welche Pakete es gibt und was sie voneinander verlangen, steht im Bereich Wie funktionierts unter Pakete.