Validatore di portata ASP.net che passa alla pagina successiva
-
05-07-2019 - |
Domanda
Ho messo un validatore di intervallo in un controllo di casella di testo asp.net nella mia pagina web; ogni volta che l'intervallo non si incontra; invierà il messaggio di errore,
Ma si sta spostando alla pagina successiva. come posso impedire che passi alla pagina successiva dopo il clic del pulsante di invio mentre l'intervallo non è soddisfatto ??
Soluzione
-
Assicurati che il tuo pulsante di invio sia nello stesso
ValidationGroup
del tuo validatore di intervallo. Ciò è particolarmente vero se hai più di unValidationGroup
definito. -
Assicurarsi che la proprietà
CauseValidation
non sia impostata su false sul pulsante. Il valore predefinito èTrue
, quindi se la proprietà non è dichiarata nell'ASPX o nel codice sottostante, il pulsante dovrebbe attivare la sequenza di convalida. -
Se non si utilizza il normale flusso di pagine, (ovvero il pulsante ha la proprietà
UseSubmitBehvior
impostata suFalse
, o in alcuni casi, quando si utilizza asych Richiamate AJAX) quindi vorrai racchiudere la pagina cambiando codice in un bloccoIf
che verifica la presenza diPage.IsValid
prima dell'attivazione. -
Controlla attentamente che
ControlToValidate
sia impostato sul controllo corretto e che non abbia un valore predefinito che supera la convalida.
Altri suggerimenti
Codice?
Stai inviando direttamente alla pagina successiva anziché postare nuovamente sulla stessa pagina e reindirizzare?
Stai reindirizzando in Page_Load, che si verifica prima di validazione ?