Validace dat databaze   zodpovězená otázka

VB.NET, WinForms, Databáze

V jaké události je nejlepe provádět validaci dat před pokusem o uložení. Chci testovat vyplněnost povinných polí, případně ověřovat pole v číselníku.

Ve VB 6 jsem to dělal dost kostrbatě v TextBox.changed. Když hodnota neodpovídal, vracel jsem focus na příslušný TextBox.

Ve verzi 2010 jsem si všiml že je tam nějaké TexBox.validating a TxtBox.validated.

Dokonce se mi připojením datbáze vygenerovala nějaká funkce Me.validate() která se vytvořila v BindingNavigatorSaveItem_Clic.

Není někde příklad jak se má správně provádět validace dat?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To záleží na konkrétní situaci. Buď lze provádět validaci v události Validating a pokud data nesedí, nastavit e.Cancel = True, nebo např. v případě modálního formuláře na stisk tlačítka OK.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Můžete poradit kdy se spustí validating, a kdy validated?

Co udělá funkce Me.Validate()

Chtěl jsem kontrolu dát na stlačení tlačítka Save z navigačního panelu datasetu, ale nevím jak přeruším běh kódu tohoto tlačítka pokud není validace v pořádku. Zkoušel jsem něco jako .setfocus ale kod běžel dál.I tady lze použít to e.Cancel = true?

Co si mám představit pod tím "e."

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Validating se spouští v momentě požadavku přepnutí na další ovládací prvek (něco jako LostFocus), Validated po ukončení validace (provedení kódu v události Validating bez nastavení Cancel = True).

e je parametr obslužné metody pro událost Validating, který je typu CancelEventArgs a slouží pro informování volaného objektu, že je požadavek na přerušení něčeho.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback