为什么ValidatorValidate()验证网页上的所有的RequiredFieldValidator控件? [英] Why ValidatorValidate() validates all the RequiredFieldValidator controls on the page?

查看:195
本文介绍了为什么ValidatorValidate()验证网页上的所有的RequiredFieldValidator控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在以下code为什么 ValidatorValidate(V)验证所有的的RequiredFieldValidator 页面上的控制?它应该只执行 RequiredFieldValidator1 不是 RequiredFieldValidator2
这里是code。

 < HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
    < HEAD>
    <脚本类型=文/ JavaScript的>
        功能检查(){            变种V =的document.getElementById(&下;%= RequiredFieldValidator1.ClientID%gt;中);
            ValidatorValidate(五);        }
        < / SCRIPT>
    < /头>
    <身体GT;
        <表ID =form1的=服务器>
        < D​​IV>            < ASP:文本框ID =TextBox1的=服务器>< / ASP:文本框>
            < ASP:的RequiredFieldValidator ID =RequiredFieldValidator1=服务器
                的ErrorMessage =的RequiredFieldValidator的ControlToValidate =TextBox1的>< / ASP:&的RequiredFieldValidator GT;
            < ASP:文本框ID =TextBox2中=服务器>< / ASP:文本框>
            < ASP:的RequiredFieldValidator ID =RequiredFieldValidator2=服务器
                的ErrorMessage =的RequiredFieldValidator的ControlToValidate =TextBox2中>< / ASP:&的RequiredFieldValidator GT;
            < BR />
            < ASP:按钮的ID =Button1的=服务器的OnClientClick =检查()文本=检查/>        < / DIV>        < /表及GT;
< /身体GT;
< / HTML>


解决方案

您需要返回从检查()的东西,否则,它的运行它,然后通过和做正常的页面验证。

调用ValidatorValidate()后,可以检查验证的isValid

 功能检查(){        变种V =的document.getElementById(&下;%= RequiredFieldValidator1.ClientID%gt;中);
        ValidatorValidate(五);
如果(v.isvalid)
     返回true;
其他
     返回false;
}

您确实有一个额外}在那里。

您还需要为的OnClientClick

一回扔

 < ASP:按钮的ID =Button1的=服务器的OnClientClick =返回检查()文本=检查/>

In following code Why ValidatorValidate(v) validates all the RequiredFieldValidator controls on the page? It should execute only RequiredFieldValidator1 not RequiredFieldValidator2.
Here is code.

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript">
        function check() {

            var v = document.getElementById("<%=RequiredFieldValidator1.ClientID%>");
            ValidatorValidate(v);

        }
        </script>    
    </head>
    <body>
        <form id="form1" runat="server">
        <div>

            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
            <br />
            <asp:Button ID="Button1" runat="server" OnClientClick="check()" Text="Check" />

        </div>

        </form>
</body>
</html>

解决方案

You need to return something from check(), otherwise, it's running it, and then passing through and doing the normal page validation.

After calling ValidatorValidate(), you can check if the validator isvalid

function check() {

        var v = document.getElementById("<%=RequiredFieldValidator1.ClientID%>");
        ValidatorValidate(v);
if (v.isvalid)
     return true;
else
     return false;
}

You did have an extra } in there as well.

You also need to throw in a return for the OnClientClick

<asp:Button ID="Button1" runat="server" OnClientClick="return check()" Text="Check" />

这篇关于为什么ValidatorValidate()验证网页上的所有的RequiredFieldValidator控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆