regulareexpression validator可以工作,但RequiredFieldValidator不行
本文关键字:RequiredFieldValidator 不行 工作 validator regulareexpression | 更新日期: 2023-09-27 18:05:17
我试图设置RegularExpressionValidator和RequiredFieldValidator为我的文本框在一个asp.net web表单。我的RegularExpressionValidator工作并给出错误消息,但是当我单击提交按钮时,我的RequiredFieldValidator不显示错误消息。我还尝试将ValidationGroup添加到我的文本框和按钮以及RegularExpressionValidator和RequiredFieldValidator,但没有任何改变。你能帮我们吗?顺便说一下,我已经添加了
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
到我的webconfig。谢谢你。
<input type="text" id="user" placeholder="username" runat="server"/>
<asp:RegularExpressionValidator runat="server" ErrorMessage="Username is not suitable" Display="Dynamic"
ValidationExpression="^([a-zA-Z0-9]{0,8})$" ID="req1"
ForeColor="Red" ControlToValidate="user" />
<asp:RequiredFieldValidator runat="server" Display="Dynamic" ErrorMessage="Username required" ID="req2"
ForeColor="Red" ControlToValidate="user"/>
<button id="submitbtn" type="button" runat="server">Sign up</button>
哦,伙计,你打错了,类型必须提交
<button id="submitbtn" type="submit" runat="server">Sign up</button>
Type="submit"将把页面发送回服务器,而Type不发送。
另一种方法是使用Page。isValid财产。
试试这个
Username: <input type="text" id="user" name="usrname" required>
<input type="submit" id="submitbtn" type="button" runat="server"/>
<asp:RegularExpressionValidator runat="server" ErrorMessage="Username is not suitable" Display="Dynamic"
ValidationExpression="^([a-zA-Z0-9]{0,8})$" ID="req1"
ForeColor="Red" ControlToValidate="user" />
<asp:RequiredFieldValidator runat="server" Display="Dynamic" ErrorMessage="Username required" ID="req2"
ForeColor="Red" ControlToValidate="user"/>
你可以通过为按钮添加'onclick'事件处理程序来解决这个问题,如下所示:
<button id="submitbtn" type="button" runat="server" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$submitbtn", "", true, "", "", false, false))">Sign up</button>
或
使用Asp。Net按钮控件,该控件将具有由Asp.Net呈现的onclick处理程序。<asp:Button ID="submitbtn" Text="Sign up" runat="server" />
似乎只有当'WebForm_DoPostBackWithOptions'函数被调用,验证将被触发。