| 

.NET C# Java Javascript Exception

1
Hallo,

ich habe ein Formular über MVVM an eine Klasse gebunden. In diesem Formular gibt es eine Textbox die nicht leer sein darf. Die Validierung funktioniert, wenn ich einen vorhanden Wert lösche, verlasse ich aber das Feld, ohne den Wert verändert zu haben funktioniert die Validierung nicht. Was muss ich tun, damit das leere Feld auch erkannt wird ohne das ich die Eingabe verändert habe?

Danke
News:
31.08.2011
schnowboard 237 6
2 Antworten
2
Da kann ich Matthias zustimmen... und ich würde noch einen Schritt weitergehen:
Eine Pflichtfeldprüfung ist meines erachtens serverseitig Pflicht. Ich vermute, dass hinter der Silverlight-Anwendung ein Service liegt. Hier im Businesslayer gehört die Pflichtfeldprüfung hin. Ein Service kann auch ohne deine Silverlight-Anwendung angesprochen werden und würde deine Validierung umgehen. Evt. gibt es auch kundenspezifische Lösungen und schon müsstest du die Validierung erneut implementieren; copy&paste - pattern ;-)
Möchtest du einen Roundtrip zum Server in deiner Anwendung unbedingt vermeiden, kannst du zusätzlich die Validierung wie Matthias beschrieb im ViewModel implementieren.
IMHO reicht aber die serverseitige Implementierung und das optische Hervorheben von Pflichtfelder auf der Oberfläche (z.B. mit einem roten *) wie man es von den meisten Webseiten gewohnt ist.
01.09.2011
Jürgen Luhr 7,1k 2 9
1
Wenn ich Dich richtig verstanden habe, dann ist die Textbox an eine Property Deiner ViewModel-Klasse gebunden, und diese Property ist leer oder null (sonst wäre ja die Textbox nicht leer, ohne dass darin etwas verändert wurde)? Dann liegt das Problem in Deinem ViewModel - Du solltest dafür sorgen, dass die Daten dort immer valide sind.

Falls Du etwas geplant haben solltest wie: am Anfang ist das Feld leer, aber der Benutzer muss es ausfüllen, so rate ich Dir, das derzeitige Verhalten aus Usability-Gründen so zu akzeptieren. Kein Benutzer wird es verstehen, warum ein Validierungsfehler gemeldet wird, wenn er nichts geändert, sondern das Feld nur betreten und wieder verlassen hat. Eine Pflichtfeldprüfung solltest Du erst beim Absenden des Formulars ausführen.
31.08.2011
Matthias Hlawatsch 13,2k 4 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH