Povolení určitých znaků v textovém poli (C#)
ASP.NET ovládací prvky ověřování můžou zajistit, že uživatelský vstup bude povolený jenom s určitými znaky. To však stále nezabrání uživatelům v zadávání neplatných znaků a pokusu o odeslání formuláře.
Přehled
ASP.NET ovládací prvky ověřování můžou zajistit, že uživatelský vstup bude povolený jenom s určitými znaky. To však stále nezabrání uživatelům v zadávání neplatných znaků a pokusu o odeslání formuláře.
Postup
Sada ASP.NET AJAX Control Toolkit obsahuje FilteredTextBox
ovládací prvek, který rozšiřuje textové pole. Po aktivaci lze do pole zadat pouze určitou sadu znaků.
Aby to fungovalo, potřebujeme nejprve jako obvykle ASP.NET AJAX ScriptManager
, který načte knihovny Jazyka JavaScript, které jsou také používány sadou nástrojů ASP.NET AJAX Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
Pak potřebujeme textové pole:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Nakonec se FilteredTextBoxExtender
ovládací prvek postará o omezení znaků, které uživatel smí zadávat. Nejprve nastavte TargetControlID
atribut na ID
TextBox
ovládací prvek . Pak zvolte jednu z dostupných FilterType
hodnot:
Custom
Výchozí; musíte zadat seznam platných znaků.LowercaseLetters
Pouze malá písmenaNumbers
pouze čísliceUppercaseLetters
Pouze velká písmena
Custom FilterType
Pokud se použije vlastnost , musí být nastavena ValidChars
vlastnost a poskytnout seznam znaků, které mohou být zadány. Mimochodem: Pokud se pokusíte vložit text do textového pole, odeberou se všechny neplatné znaky.
Tady je kód FilteredTextBoxExtender
ovládacího prvku, který povoluje pouze číslice (něco, co by bylo možné i s FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Spusťte stránku a pokuste se zadat písmeno, pokud je povolen JavaScript, nebude to fungovat; číslice se však zobrazí na stránce. Upozorňujeme však, že ochrana FilteredTextBox
, která poskytuje, není odolná proti odrážkám: Pokud je JavaScript povolený, můžou být do textového pole zadána jakákoli data, takže musíte použít další ověřovací prostředky, tj. ASP. Ověřovací ovládací prvky systému NET.
Je možné zadat pouze číslice (kliknutím zobrazíte obrázek v plné velikosti).