大家好我需要为我的文本框提供必填字段验证器。这是我的文本框..
<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;"/>
我没有收到错误消息。任何解决方案?
答案 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)。因此,必填字段验证程序没有触发。