Zaprvé na omezení délky textu se nemůžete spolehnout - hlídá to jen webový prohlížeč, když někdo bude chtít podvrhnout víc znaků, tak to stejně udělá. Zadruhé je nutné vůbec taková omezení zavádět? Co když bude někdo chtít napsat delší příspěvek? Doporučuji v databázi používat pro text příspěvku datový typ NVARCHAR(MAX), který nemá omezenou délku (resp. má, ale maximální hodnota je ve většině případů nedosažitelná). A nadpisu a jménu dejte třeba 1000 nebo 500 znaků. Pokud používáte VARCHAR, tak se použije jenom tolik znaků, kolik je skutečně potřeba. Pokud to nikdo nevyužije, ničemu to nebude vadit, pokud to někdo bude potřebovat, bude to fungovat. Jinak co se týče konkrétního problému, možností je víc, mě přijde nejlepší dát maximální délku velkou a vůbec ji nekontrolovat - pokud uživatel zadá moc dlouhý řetězec, tak se prostě ořízne. Dále doporučuji pro validace používat validátory k tomu určené. A v neposlední řadě je naprosto špatně volat funkci MsgBox. Zpráva se objeví na serveru, protože kód, který píšete ve VB.NET, se spouští na serveru, a ne v prohlížeči u klienta. Pokud chcete ve stránce vyhazovat messageboxy, musíte do ní vypsat nějaký javascript, třeba přes volání Page.ClientScript.Register.... Elegantnější je ale použít validátory, které při chybném vstupu zruší prováděnou akci (vkládání záznamu) a zobrazí chybovou klášku v podobě červeného textu. Je lepší, než když na uživatele vyskočí 20 oken za sebou. Pokud vám chybí nějaký validátor, není nic jednoduššího, než si ho napsat (podědit třídu třeba od ServerValidator a overridnout metodu OnServerValidate tuším).
|