ValidationGroup在OnClick之后被激发

本文关键字:之后 OnClick ValidationGroup | 更新日期: 2023-09-27 18:25:51

在将表单提交到服务器之前,我想进行客户端验证,以检查文本框是否为空。然而,即使文本框为空,表单也会提交到服务器。

<asp:Button ID="LinkButton2" runat="server" Text="Submit Order" CssClass="btn btn-lg btn-primary btn-block"
                            ValidationGroup="DeliveryAddVad" OnClick="SbmtOrder_Click" Width="150px"  />

文本框下方将显示一条错误消息。如果文本框为空,是否仍然可以停止表单提交到服务器。问题是OnClick="SbmtOrder_Click"将显示一个对话框,如果文本框为空,我不希望对话框显示。

ValidationGroup在OnClick之后被激发

您必须使用RequiredFieldValidator:

<asp:Button ID="LinkButton2" runat="server" 
    ValidationGroup="DeliveryAddVad"
    UseSubmitBehavior="False"
    Text="Submit Order" 
    CssClass="btn btn-lg btn-primary btn-block"  
    OnClick="SbmtOrder_Click" 
    Width="150px"  
/>
<asp:RequiredFieldValidator runat="server" ID="reqOrder" 
    ValidationGroup="DeliveryAddVad"
    controltovalidate="NameOfTextBox" 
    errormessage="Please enter [whatever the user has to enter]!" 
/>

您也可以尝试将Button.UseSubmitBehavior设置为false(如上编辑),将TextBox.CausesValidation设置为true(默认值为false)。