Sdílet prostřednictvím


Povolení určitých znaků v textovém poli (C#)

Christian Wenz

Stáhnout PDF

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 IDTextBox 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ísmena
  • Numbers pouze číslice
  • UppercaseLetters 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.

Zadat lze pouze číslice.

Je možné zadat pouze číslice (kliknutím zobrazíte obrázek v plné velikosti).