这是我的 aspx 页面代码:
<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName"
controltovalidate="txtName"
errormessage="Please enter your name!" />
它不工作。当我单击确定按钮时,我没有收到错误消息,然后它显示错误。
假设您使用的是 jquery,您可以blur
按如下方式使用事件:
<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName"
controltovalidate="txtName"
errormessage="Please enter your name!" />
<script type="text/javascript">
$('#<%= txtName.ClientID %>').blur(function () {
var control = document.getElementById('<%= reqName.ClientID %>');
ValidatorEnable(control);
ValidatorValidate(control);
ValidatorUpdateIsValid();
});
</script>
您没有共享太多代码,但很可能您可以做一件事来使事情正常进行。
<asp:TextBox runat="server" ID="txtName" />
<asp:RequiredFieldValidator runat="server" ID="reqName"
ControlToValidate="txtName"
ErrorMessage="Please enter your name!"
ValidationGroup="save" />
<asp:Button runat="server" ID="button"
Text="Click me"
ValidationGroup="save" />
给ValidationGroup
你一个RequiredFieldValidator
和Button
(也可能是其他回发导致控制ImageButton
等)。
更新
如果您也想在 TAB 上进行验证,请执行此操作
<asp:TextBox runat="server" ID="txtName" />
<asp:RequiredFieldValidator runat="server" ID="reqName"
ControlToValidate="txtName"
ErrorMessage="Please enter your name!"
ValidationGroup="save" />
<asp:Button runat="server" ID="button"
Text="Click me"
ValidationGroup="save" />
<script type="text/javascript">
function fireValid() {
if (Page_ClientValidate('save')) // save is your validation group here
{
//Your valid
}
}
</script>