title: Whether to use Page_IsValid or Page_ClientValidate() (for Client Side Events)
body: <p>I have following code inside a button click handler. Both approaches work fine. The <code>Page_ClientValidate()</code> causes an extra validation check and do processing whereas <code>Page_IsValid</code> makes use of existing property. </p>
  
  <p>QUESTIONS</p>
  
  <ol>
  <li>In case of button click, is it always guaranteed that <code>Page_IsValid</code> would have been calculated by that time? If is not guaranteed, we need to call <code>Page_ClientValidate()</code> explicitly.</li>
  <li>What are the events that happen before <code>Page_IsValid</code> is set? For such events we should not rely on <code>Page_IsValid</code></li>
  </ol>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Is it assured that the button click event handler (in JavaScript) will be called only after the validation part is completed (i.e., after Page_ClientValidate() was invoked as part of validation) ? If this is assured, can I rely on Page_IsValid?</p>
  
  <p><strong>SCRIPT</strong></p>
  
  <pre><code>  $('#btnSave').click(function (e) {
  
    //Aproach 1
    var isValid = Page_ClientValidate('');
    if (isValid) 
    {
         //Do reamining work
    }
  
    //Aproach 2
    if (Page_IsValid)
    {
        //Do reamining work
    }
  
    });
  </code></pre>
  
  <p><strong>REFERENCES</strong>:</p>
  
  <ol>
  <li><a href="https://stackoverflow.com/questions/13565718/hide-redundant-error-message-in-asp-net-validationsummary">Hide redundant error message in ASP.Net ValidationSummary</a></li>
  <li><a href="https://stackoverflow.com/questions/13825543/validator-causes-improper-behavior-for-double-click-check?lq=1">Validator causes improper behavior for double click check</a></li>
  <li><a href="https://stackoverflow.com/questions/3227830/page-clientvalidate-is-not-defined">Page_ClientValidate is not defined</a></li>
  <li><a href="https://stackoverflow.com/questions/969465/problem-with-page-clientvalidate">Page_ClientValidate is validating multiple times.</a></li>
  <li><a href="http://msdn.microsoft.com/en-us/library/aa479045.aspx" rel="nofollow noreferrer">MSDN - ASP.NET Validation in Depth</a></li>
  </ol>