в текстовом поле есть 3 валидатора,
asp:RegularExpressionValidator asp:RangeValidator asp:CompareValidator
какой-то ввод вызовет все 3 из них, как я могу остановить запуск остальных при какой-либо ошибке?
в текстовом поле есть 3 валидатора,
asp:RegularExpressionValidator asp:RangeValidator asp:CompareValidator
какой-то ввод вызовет все 3 из них, как я могу остановить запуск остальных при какой-либо ошибке?
Может быть, это может вам помочь. Вы можете перехватить метод ValidatorValidate среды проверки ASP.Net и выборочно отключить нужные элементы управления валидацией на основе любого заданного результата контроля проверки.
<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>