ASP.NET必需字段验证器无法正常工作

时间:2013-04-25 05:31:35

标签: asp.net field validation required

大家好我需要为我的文本框提供必填字段验证器。这是我的文本框..

<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;"/>

我没有收到错误消息。任何解决方案?

8 个答案:

答案 0 :(得分:19)

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

   <asp:TextBox ID="txtTimeSlotGroupName" runat="server" 
        AutoPostBack="false" ValidationGroup="TimeSlot" ClientIDMode="Static"></asp:TextBox>

答案 1 :(得分:8)

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

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

答案 4 :(得分:1)

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

    <asp:TextBox ID="txtTimeSlotGroupName" runat="server" AutoPostBack="false" 
   ValidationGroup="TimeSlot"   ClientIDMode="Static"></asp:TextBox>

答案 5 :(得分:0)

对所有文本和“添加”按钮和验证

进行相同的验证组
   ValidationGroup="AAA" 

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

  If (Page.IsValid) Then
        YOURSQL.Insert()
   'or ur code here'
    End If

答案 6 :(得分:0)

我遇到了同样的问题...但是以上答案都不是我的解决方法...

我的问题是我在按钮按下方法中缺少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
    }
}

答案 7 :(得分:0)

在我的情况下,对于For按钮,我同时使用了客户端验证(即onClientClick =“ return validate()”)和ASP.NET验证,即要求字段验证(ValidationGroup)。因此,必填字段验证程序没有触发。