2014-02-08 2 views
0

У меня есть текстовое поле поиска, которое имеет значение по умолчанию Enter Month to View Profit. Когда я нажимаю кнопку поиска без ввода каких-либо данных, значение по умолчанию текстового поля отправляется на сервер для поиска. Я хочу, чтобы RegularExpressionValidator не подтвердил значение по умолчанию для текстового поля.RegularExpressionValidator в Asp.net

<asp:TextBox ID="Tboxsearch" Text="Enter Month to View Profit" OnClick="this.value=''" CssClass="textboxinput" runat="server"></asp:TextBox> 
    <asp:Button ID="ButtonSearch" CssClass="btnLog" runat="server" Text="Search" onclick="ButtonSearch_Click" /> 
    <asp:RequiredFieldValidator 
          ID="RequiredFieldValidatorname" 
          runat="server" 
          ControlToValidate="Tboxsearch" 
          ForeColor="Red"        
          Text="*" 
          > 
         </asp:RequiredFieldValidator> 
         <asp:RegularExpressionValidator 
          ID="RegularExpressionValidatorname" 
          runat="server" 
          ValidationExpression="[a-zA-Z0-9]+" 
          ForeColor="Red" 
          ControlToValidate="Tboxsearch" 
          ErrorMessage="Enter Valid Name!" 
          > 
         </asp:RegularExpressionValidator> 
+0

Я вижу, что вы используете т он должен RequiredFieldValidator, который должен предотвратить обратную передачу –

ответ

1

по умолчанию для всех валидаторов, кроме контроля RequiredFieldValidator, если вы размещаете с пустым полем валидатор не будет вызывать

вы должны использовать обязательное поле валидатора с другими валидаторов, чтобы предотвратить постбэк случиться

от MSDN

Special-Case Validation Results for ASP.NET Server Controls

E DIT

Кроме того, если вы добавляете элементы управления, как в вашем вопросе, он должен работать, но если есть другие элементы управления, как, например, другой кнопки вы должны установить ValidationGroup собственности в группу, которую вы хотите работать вместе

ValidationGroup="vGrp" 

и ваш код будет как этот

<asp:TextBox ID="Tboxsearch" Text="Enter Month to View Profit" OnClick="this.value=''" CssClass="textboxinput" runat="server" ValidationGroup="vGrp"></asp:TextBox> 
<asp:Button ID="ButtonSearch" CssClass="btnLog" runat="server" Text="Search" onclick="ButtonSearch_Click" ValidationGroup="vGrp" /> 
<asp:RequiredFieldValidator 
    ID="RequiredFieldValidatorname" 
    runat="server" 
    ControlToValidate="Tboxsearch" 
    ForeColor="Red" 
    Text="*" 
    ValidationGroup="vGrp"> 
</asp:RequiredFieldValidator> 
<asp:RegularExpressionValidator 
    ID="RegularExpressionValidatorname" 
    runat="server" 
    ValidationExpression="[a-zA-Z0-9]+" 
    ForeColor="Red" 
    ControlToValidate="Tboxsearch" 
    ErrorMessage="Enter Valid Name!" ValidationGroup="vGrp"></asp:RegularExpressionValidator> 

из MSDN о validationGroup

+0

, пожалуйста, поделитесь каким-либо примером – user3268114

+0

. Я отредактировал свой ответ, пожалуйста, попробуйте сейчас –

+0

Если вы нашли, что мой ответ содержит некоторую двусмысленность, скажите, пожалуйста, чтобы я мог объяснить больше –

Смежные вопросы