ich in meiner Trigger folgenden Code haben:Prevent AsyncPostBackTrigger, wenn der Wert in der Textbox nicht gültig ist
<asp:AsyncPostBackTrigger ControlID="InitPay" EventName="TextChanged" />
während meiner Kontrolle wie folgt aussieht:
<label class="ccsp">Initial Payment</label><br />
<asp:TextBox ID="InitPay" AutoPostBack="true" runat="server" OnTextChanged="InitPay_TextChanged" Style="width: 300px;">
</asp:TextBox><b>$</b><br />
<asp:CustomValidator ID="ValInitPay" ControlToValidate="InitPay" runat="server" ClientValidationFunction="Val_InitPay" OnServerValidate="ValInitPay_ServerValidate" ErrorMessage="Out of range error." Display="Dynamic"></asp:CustomValidator>
Jquery Funktion validieren:
function Val_InitPay(source, args) {
if (Math.floor($('#InitPay').val()) == ($('#InitPay').val()) && $.isNumeric($('#InitPay').val())) {
if ($('#InitPay').val() > ($("#InitPaymnet").val()) && $('#InitPay').val() < 1000)
{
args.IsValid = true;
}
else {
args.IsValid = false;
}
}
else {
args.IsValid = false;
}
}
, während der Code hinter der Validierungsfunktion lautet:
protected void ValInitPay_ServerValidate(object source, ServerValidateEventArgs args)
{
if (int.TryParse(InitPay.Text, out val))
{
if (val > 10 && val < 1000)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
ValInitPay.ErrorMessage = "<img src='images/err_msg.png' height='11px' width='11px' style='vertial-align:middle' />Out of range";
}
}
else
{
args.IsValid = false;
ValInitPay.ErrorMessage = "<img src='images/err_msg.png' height='11px' width='11px' style='vertial-align:middle' />Not an integer";
}
}
Jetzt, wenn ich eine ungültige Eingabe in das Textfeld geben, löst es schnell die Trigger-Funktion. Es gibt den Fehler, aber dann wird der Auslöser ausgelöst. Gibt es eine Möglichkeit, den Trigger zu stoppen, wenn der Wert ungültig ist?
Vielen Dank!