1
有3個驗證器上的文本框,如何阻止驗證組中的一系列驗證程序停止發生錯誤? asp.net
ASP:的RegularExpressionValidator ASP:RangeValidator控件 ASP:CompareValidator
一些輸入將觸發他們的所有3,我如何能阻止對任何發射休息錯誤?
有3個驗證器上的文本框,如何阻止驗證組中的一系列驗證程序停止發生錯誤? asp.net
ASP:的RegularExpressionValidator ASP:RangeValidator控件 ASP:CompareValidator
一些輸入將觸發他們的所有3,我如何能阻止對任何發射休息錯誤?
可能是這可以幫助你......你可以攔截ASP.Net驗證框架的ValidatorValidate方法,並根據任何給定的驗證控制結果選擇性地禁用驗證器控件。
<asp:TextBox ID="tbText" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator EnableClientScript="true" ValidationExpression="\d" ID="rang" runat="server" ControlToValidate="tbText" >sdfsdfsdfsdfsdfsd</asp:RegularExpressionValidator>
<asp:RangeValidator EnableClientScript="true" Type="Date" MinimumValue="10/10/2000" MaximumValue="10/10/2013" runat="server" ID="rang2" ControlToValidate="tbText" >23444444444444</asp:RangeValidator>
<asp:Button ID="btn" runat="server" Text="submit"/>
<script language="javascript">
var oldValidatorValidate = ValidatorValidate;
function MyValidatorValidate(val, validationGroup, event) {
//first call the original one
oldValidatorValidate(val, validationGroup, event);
//Here you can check val.isvalid - e.g write your logic here, like check for the correct validator etc etc
//alert(val.id + ":" + val.isvalid);
if (!val.isvalid) {
var myVal = document.getElementById('<%=rang2.ClientID %>');
//ValidatorEnable(myVal, false);
}
}
ValidatorValidate = MyValidatorValidate;
</script>
可以顯示一些代碼。你試過了什麼,什麼是實際背景 –
我把驗證移到了後端,這似乎是唯一的方法 –