9

大家好,我的文本框需要一个必填字段验证器。这是我的文本框。

<asp:TextBox ID="txtTimeSlotGroupName" runat="server" AutoPostBack="false" 
     ClientIDMode="Static"></asp:TextBox>  
<font color="red">*</font>  
<asp:RequiredFieldValidator ID="RequiredFieldValidator_txtTimeSlotGroupName"
     runat="server" ControlToValidate="txtTimeSlotGroupName" Display="None"
     ErrorMessage="Timeslot Group Required!" ForeColor="Red" InitialValue="0"
     ValidationGroup="TimeSlot"></asp:RequiredFieldValidator>

我的按钮:

<asp:Button ID="btnAddTimeSlots" Text="Add Timeslots" CssClass="button" 
     runat="server" OnClick="btnAddTimeslots_Click" ValidationGroup="TimeSlot" 
     OnClientClick="javascript:shouldsubmit=true;"/>

我没有收到错误消息。有什么解决办法吗?

4

8 回答 8

23

您还必须定义您的验证组Textbox......以使其工作

   <asp:TextBox ID="txtTimeSlotGroupName" runat="server" 
        AutoPostBack="false" ValidationGroup="TimeSlot" ClientIDMode="Static"></asp:TextBox>
于 2013-04-25T05:35:10.660 回答
9

从RequiredFieldValidator 标记中删除InitialValue="0",验证文本框时不需要它。

于 2013-04-25T05:34:53.473 回答
5

即使我也面临同样的问题。请检查您的页面上是否存在任何 javascript。无论上述如何使用Page.Validate()方法和if(Page.IsValid)您的代码。这将自动强制您的验证控制和问题将得到解决

于 2014-06-17T10:44:48.663 回答
3

如果两个对象具有相同的 id,则必填字段验证器不起作用。

于 2014-08-08T12:46:49.503 回答
1

您只需在文本框中添加 ValidationGroup="TimeSlot"

    <asp:TextBox ID="txtTimeSlotGroupName" runat="server" AutoPostBack="false" 
   ValidationGroup="TimeSlot"   ClientIDMode="Static"></asp:TextBox>
于 2015-04-08T17:21:16.960 回答
1

我有同样的问题......但以上答案都不是我的解决方案......

我的问题是我Page.isValid在按钮按下方法中丢失了。下面是我的按钮代码和按钮调用的方法。

按钮:

<asp:Button ID="btnBtmSave" runat="server" Text="Save" OnClick="btnSave_Click" BtnGroup="save" TabIndex="18" />

按钮方法:

protected void btnSave_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        //Logic goes here
    }
}
于 2018-11-06T20:19:20.480 回答
0

为所有文本创建相同的验证组并添加按钮和验证

   ValidationGroup="AAA" 

并将代码添加到您的保存按钮:

  If (Page.IsValid) Then
        YOURSQL.Insert()
   'or ur code here'
    End If
于 2016-10-25T14:18:17.730 回答
0

就我而言,对于按钮,我同时使用了客户端验证,即 onClientClick="return validate()",以及 ASP.NET 验证,即 Reguired 字段验证 (ValidationGroup)。因此,必填字段验证器未触发。

于 2020-07-07T16:46:52.257 回答