-1

这是我的 aspx 页面代码:

<asp:TextBox runat="server" id="txtName" />

<asp:RequiredFieldValidator runat="server" id="reqName"
     controltovalidate="txtName" 
     errormessage="Please enter your name!" />

它不工作。当我单击确定按钮时,我没有收到错误消息,然后它显示错误。

4

2 回答 2

1

假设您使用的是 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>
于 2012-11-10T12:32:21.863 回答
0

您没有共享太多代码,但很可能您可以做一件事来使事情正常进行。

<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你一个RequiredFieldValidatorButton(也可能是其他回发导致控制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>
于 2012-11-10T12:03:17.033 回答