Verwendung C# native Paket 3.0.0-Beta3 Version, wie official documentation Standardwerte werden während der Analyse-Phase zugewiesen und es gibt keine Möglichkeit zu unterscheiden, ob Wert überhaupt nicht übergeben wurde, für meine Zwecke dies ist ein wichtiger Punkt, da ich eine Art Validierung für decodierte Proto-Entitäten durchführen wollte und mich fragte, ob jemand Erfahrung mit der benutzerdefinierten Validierung von Daten oder dem Überschreiben/Abfangen von Parsing-Stufen in irgendeiner Weise hat?Validieren und überschreiben Standardwerte während der Parsing-Phase
Einige einfache Beispiele:
- Für int32 Feld in Fall war es gar nicht so statt default 0 geben ich diesen Fall behandeln wollen und benutzerdefinierte Ausnahme
- Für int32 Feld I erzwingen wollte erhöhen erlaubt Wertebereich wie 100-1000 werfen sonst Ausnahme
- bei String-Feld Parsen I Mindestlänge auf Parsing/Decodierungsstufe
Wie würden Sie sugges erzwingen wollte t dies außer dem Schreiben von benutzerdefinierten Validierungsebene über Protobuf-Paket/API? Ich hoffe immer noch, es gibt eine Erweiterungspunkte, aber noch nicht gefunden
Dies ist das gleiche, das ich in der Dokumentation gefunden habe, leider. Haben keine Ahnung, wie Systeme, die Protobuf solche Probleme verwendet, scheint durch die Definition einige benutzerdefinierte Standardeinstellungen von Proto3 Standardwerte zu unterscheiden, danke – sll
@sll Proto3 unterstützt auch keine benutzerdefinierten Standardeinstellungen; nur null/leer. Aber wirklich, die Antwort ist, dass Sie diese Validierung nicht durchführen müssen. Wenn der Standardwert ein akzeptabler Wert ist, fahren Sie damit fort. Es liegt in der Verantwortung des Absenders sicherzustellen, dass er die gewünschten Werte sendet. Das einzige, was Sie auf dem Server validieren müssen, ist, dass die von ihnen gesendeten Werte den Server nicht beschädigen. –