使用.net验证控件时,设置VALIDATED控件的样式

时间:2011-11-14 15:43:52

标签: c# asp.net validation

我正在使用.net验证控件,并且我能够设置除了经过验证的控件之外放置的错误文本(在我们的示例中,我们显示一个红色的星号)。

所以我可以设置红色星号的样式,但在这种情况下我还想设置错误所在的文本框/输入的样式。

可以通过标准验证控件以某种方式实现这一目标吗?

基本上我想要的是'询问'所有验证器的验证控件和控件的样式(即应用css类)。

米歇尔

1 个答案:

答案 0 :(得分:1)

您应该可以使用CustomValidator执行此操作。这是一个简单的例子:

<script type="text/javascript">
    validateStuff = function(sender, args){
        args.IsValid = false; //your validaiton logic
        if (!args.IsValid){
            var el = document.getElementById(sender.controltovalidate);
            if (el){
                el.style.border = "1px solid red";
            }
        }            
    }
</script>
<asp:TextBox ID="TextBox1" runat="server" />
<asp:CustomValidator runat="server" id="CustomValidator1"
        ControlToValidate="TextBox1"
        ClientValidateFunction="validateStuff"
        ErrorMessage="Invalid Prime Number">
</asp:CustomValidator>

您也可以使用jQuery Validation Plugin。我没有测试过这个,但是这里有一个如何高亮显示元素的例子:

$("#<%=form1.ClientID%>").validate({
    rules: { 
        <%= TextBox1.ClientID %> : {
            required: true                
        }
    },    
    highlight: function(element, errorClass) {         
        $(element).css({ border: "1px solid red", color : "red" }); 
    }
});