Si l'utilisation de Page_IsValid ou Page_ClientValidate() (pour le Côté Client Événements)
J'ai code suivant à l'intérieur d'un clic sur un bouton gestionnaire. Les deux méthodes fonctionnent bien. Le Page_ClientValidate()
causes supplémentaires de vérification de la validation et de faire le traitement alors que Page_IsValid
rend l'utilisation de la propriété existante.
QUESTIONS
- En cas de clic sur le bouton, est-il toujours garanti que
Page_IsValid
aurait été calculé par ce temps? Si n'est pas garanti, il nous faut appelerPage_ClientValidate()
explicitement. - Quels sont les événements qui se produisent avant
Page_IsValid
est réglé? Pour de tels événements nous ne devrions pas compter surPage_IsValid
Mise à JOUR
Est-il assuré que le bouton cliquez sur gestionnaire d'événements (en JavaScript) sera appelée qu'après la validation de la partie est terminée (c'est à dire, après Page_ClientValidate() a été invoquée dans le cadre de la validation) ? Si c'est assuré, puis-je compter sur Page_IsValid?
SCRIPT
$('#btnSave').click(function (e) {
//Aproach 1
var isValid = Page_ClientValidate('');
if (isValid)
{
//Do reamining work
}
//Aproach 2
if (Page_IsValid)
{
//Do reamining work
}
});
RÉFÉRENCES:
- Masquer redondant message d'erreur dans ASP.Net ValidationSummary
- Validateur causes des comportements inadaptés pour double cliquez sur vérifier
- Page_ClientValidate n'est pas défini
- Page_ClientValidate est de valider plusieurs fois.
- MSDN - ASP.NET Validation en Profondeur
Cette Page_IsValid n'a jamais travaillé pour moi en javascript. J'ai toujours utiliser Page_ClientValidate en javascript et Page_IsValid dans le code côté serveur
avez-vous déjà posté la question dans le débordement de pile - "Page_IsValid n'a jamais travaillé pour moi dans le javascript" ?
Pas réellement. J'ai essayé une fois à l'aide de Page_IsValid et il n'a pas fonctionné, puis j'ai commencé à utiliser Page_ClientValidate
Page_IsValid jeux en ValidatorUpdateIsValid() qui est à l'intérieur de Page_ClientValidate() et Page_ClientValidate() est à l'intérieur de WebForm_DoPostBackWithOptions(). A chaque fois que vous faites de publication avec le standart de contrôle de cet événement se déclenche. Sinon, si vous appelez à l'exemple __doPostBack() bien sûr, vous devez appeler Page_ClientValidate() pour validation.
Page_ClientValidate() appelle ValidatorUpdateIsValid(), cette fonction appelle AllValidatorsValid(Page_Validators) où Page_Validators tableau d'objets validateurs. AllValidatorsValid(Page_Validators) vérifie la propriété isvalid pour chaque programme de validation et de retourner le résultat (vrai ou faux) quelle attribue à la Page_IsValid Exemple: la fonction ValidatorUpdateIsValid() { Page_IsValid = AllValidatorsValid(Page_Validators);
avez-vous déjà posté la question dans le débordement de pile - "Page_IsValid n'a jamais travaillé pour moi dans le javascript" ?
Pas réellement. J'ai essayé une fois à l'aide de Page_IsValid et il n'a pas fonctionné, puis j'ai commencé à utiliser Page_ClientValidate
Page_IsValid jeux en ValidatorUpdateIsValid() qui est à l'intérieur de Page_ClientValidate() et Page_ClientValidate() est à l'intérieur de WebForm_DoPostBackWithOptions(). A chaque fois que vous faites de publication avec le standart de contrôle de cet événement se déclenche. Sinon, si vous appelez à l'exemple __doPostBack() bien sûr, vous devez appeler Page_ClientValidate() pour validation.
Page_ClientValidate() appelle ValidatorUpdateIsValid(), cette fonction appelle AllValidatorsValid(Page_Validators) où Page_Validators tableau d'objets validateurs. AllValidatorsValid(Page_Validators) vérifie la propriété isvalid pour chaque programme de validation et de retourner le résultat (vrai ou faux) quelle attribue à la Page_IsValid Exemple: la fonction ValidatorUpdateIsValid() { Page_IsValid = AllValidatorsValid(Page_Validators);
OriginalL'auteur Lijo | 2012-12-12
Vous devez vous connecter pour publier un commentaire.
En cas de clic sur le bouton,
Page_ClientValidate()
est appelé si (et seulement si) le bouton deCausesValidation
est fixé àtrue
.Page_ClientValidate()
fait partie du processus de publication, de sorte qu'il est appelé à l'intérieur du bouton de clic.Je compte sur
Page_IsValid
seulement dans un domaine d'une fonction après appelPage_ClientValidate()
. Sinon, je toujours appelPage_ClientValidate()
.Commentaire: appel
Page_ClientValidate()
de façon répétée peut provoquer la page à être trop voyant (plusieurs alertes, etc.). C'est pourquoi il est bon d'avoir un custom valider la fonction qui prend soin de l'ensemble de validation.Voir mon premier point, il n'est assurée que lorsque le bouton est
CausesValidation
est fixé àtrue
.OriginalL'auteur Peter Ivan