2012-11-15 15 views
6

Beim Codieren der Validierungslogik für ein VB .NET-Textfeld ist es besser, den Ereignishandler zu verwenden: Validieren oder Verlassen?Besser Validieren oder Verlassen Ereignis, um Textboxdaten zu validieren?

Von dem, was ich verstehe, treten sie beide zur gleichen Zeit auf. Gemäß diesem Artikel: MSDN: Control.Leave Event tritt das Leave-Ereignis jedoch direkt vor dem Validierungsereignis auf. Das würde mich zunächst denken lassen, dass ich das Leave-Ereignis lieber verwenden würde, als es zuerst eintritt.

Für die Lesbarkeit des Codes wäre es jedoch sinnvoll, den gesamten Validierungscode in das Validierungsereignis zu stellen.

Also, was ist die bessere Option, sowohl in Bezug auf Effizienz und Industriestandards?

+0

Wenn es möglich ist, die Daten zu speichern, ohne das Textfeld zu verlassen, wird Ihr Validierungscode nicht aufgerufen. –

Antwort

7

Sie sollten immer das Validierungsereignis verwenden, es wurde zur Unterstützung der Validierung erstellt. Wenn der Fokus nicht geändert werden soll, dann zumindest für die CausesValidation-Eigenschaft. Welche Sie auf "Falsch" setzen, sagen wir die Schaltfläche Abbrechen eines Dialogs. Es gibt keinen Grund, irgendetwas zu überprüfen, wenn der Benutzer entscheidet, das Dialogfeld zu schließen.

2

Das Ereignis Validating ist für die Validierung vorgesehen. Wenn der Text nicht gültig ist, setzen Sie e.Cancel = True, und der Fokus bleibt auf dem Textfeld. Leave ist nur eine Benachrichtigung.

Verwandte Themen