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

  1. 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 appeler Page_ClientValidate() explicitement.
  2. Quels sont les événements qui se produisent avant Page_IsValid est réglé? Pour de tels événements nous ne devrions pas compter sur Page_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:

  1. Masquer redondant message d'erreur dans ASP.Net ValidationSummary
  2. Validateur causes des comportements inadaptés pour double cliquez sur vérifier
  3. Page_ClientValidate n'est pas défini
  4. Page_ClientValidate est de valider plusieurs fois.
  5. 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);

OriginalL'auteur Lijo | 2012-12-12