我在网上搜索了一下,没有找到任何有帮助的东西,所以我想在这里问问。
我有一个简单的asp.net 2.0表单。
<form runat="server">
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
<asp:TextBox ID="txt1" runat="server" ValidationGroup="valGroup1"></asp:TextBox>
<asp:RequiredFieldValidator ControlToValidate="txt1" ValidationGroup="valGroup1" runat="server" Display="Dynamic" ID="val1" ErrorMessage="*"></asp:RequiredFieldValidator>
<asp:Button ID="btn1" runat="server" ValidationGroup="valGroup1" CausesValidation="true" Text="submit" />
</form>
当javascript不可用时,我可以通过代码隐藏来实现这一点,但我想做的是在javascript可用时发生同样的事情。
我知道ASP.NET注入了一个名为Page_Validators的全局js变量,它是页面上所有验证程序跨度的数组。有没有一个简单的方法可以做到这一点,而不是通过这些循环??
编辑
我可以用以下方法来做:
<script type="text/javascript">
function ValidateInputs() {
var validators = Page_Validators;
for (var i = 0; i < validators.length; i++) {
var validator = validators[i];
if (!validator.isvalid) {
document.getElementById(validator.controltovalidate).setAttribute("style", "border:solid 1px red;");
}
}
}
</script>
只是想知道有没有更好的方法??
我能让microwoft验证脚本调用我的验证方法吗?或者我可以手动钩住验证事件吗?