【问题标题】:How to make the TextBox border become red when a validation happens to it in asp.net?在asp.net中发生验证时如何使TextBox边框变为红色?
【发布时间】:2017-04-22 12:27:45
【问题描述】:

This what i want to do.click to view photo

我厌倦了很多选择,但都没有奏效。比如覆盖 JS 方法和自定义方法。我将感谢您做出明确、有效的回应。

<tr>
    <td class="auto-style2">&emsp;<asp:Label ID="Label2" runat="server" Text="Name"
        CssClass="style3" AssociatedControlID="TextBoxName"></asp:Label>
    </td>
    <td>
        <asp:TextBox ID="TextBox2" runat="server"
            CssClass="TextBox"></asp:TextBox>
    </td>
    <td>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3"
            runat="server" ErrorMessage="Field required"
            ControlToValidate="TextBoxName" Text="Required"
            ForeColor="Red" Font-
            Strikeout="False" Font-Underline="False" Font-
            Overline="False" Font-Bold="True" BackColor="Red">
        </asp:RequiredFieldValidator>
    </td>
    <td>&nbsp;</td>
</tr>

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    这是我用于此目的的脚本。

    <script type="text/javascript">
    
        //set the interval for checking the validators
        setInterval(function () { colorBorders() }, 100);
    
        function colorBorders() {
            if (typeof (Page_Validators) !== 'undefined') {
    
                //loop all the validators
                for (var i = 0; i < Page_Validators.length; i++) {
                    var validator = Page_Validators[i];
                    var control = document.getElementById(validator.controltovalidate);
    
                    //check if the control actually exists
                    if (control != null) {
    
                        //if the validator is not valid color the border red, if it is valid return to default color
                        //elseif with rgb color is nessecary for preventing chrome dropdown blinking
                        if (!validator.isvalid) {
                            control.style.borderColor = '#ff0000';
                        } else if (control.style.borderColor == "rgb(255, 0, 0)") {
                            control.style.borderColor = '#000000';
                        }
                    }
                }
            }
        }
    </script>
    

    【讨论】:

    • 我应该用验证的 ID 重命名 Page_Validators
    • 不,您无需执行任何操作。如果你把它放在一个页面上,它将适用于所有验证器。
    • 我试过了。非常感谢,我从 24 小时开始尝试这样做,我真的希望你能尽快听到好消息。你能告诉我你从哪里弄来的,这样我就可以得到更多的知识
    • 我认为可能(部分)从这里开始。我已经使用了一段时间了。并自己做了一些修改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多