Leckoho možná překvapí chování validátorů (RegularExpressionValidatoru, CompareValidatoru a dalších) v jednoduchém případě:
<asp:TextBox ID="MyTB" runat="server" /> <asp:RegularExpressionValidator ValidationExpression="\d+" ControlToValidate="MyTB" Text="x" runat="server" /> <asp:Button Text="OK" runat="server" />
Co se děje:
- hodnota „123“ validátor aktivuje, vstup je validní
- hodnoty „123 “ nebo “ 123″ validátor aktivují, vstup není validní
- hodnotu “ “ (white-space) validátor propustí, vstup je podle něj validní
- nepomáhá ani ValidationExpression=“^\d+$“, validátor se prostě neaktivuje
- hodnota „“ (String.Empty) validátor neaktivuje, validátory nevalidují Empty vstupy
- white-space samotný je považován za Empty a validátory se tak vyjma RequiredFieldValidatoru ignorují (a CustomValidatoru, pokud má nastaveno ValidateEmptyText=“true“)