我正在使用.net验证控件,并且我能够设置除了经过验证的控件之外放置的错误文本(在我们的示例中,我们显示一个红色的星号)。
所以我可以设置红色星号的样式,但在这种情况下我还想设置错误所在的文本框/输入的样式。
可以通过标准验证控件以某种方式实现这一目标吗?
基本上我想要的是'询问'所有验证器的验证控件和控件的样式(即应用css类)。
米歇尔
答案 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" });
}
});