From d5950ec0b553d46c4800adc0532d4464a4eb1883 Mon Sep 17 00:00:00 2001 From: wei <> Date: Tue, 27 Mar 2007 08:34:28 +0000 Subject: Fixed #278, conditional validation. --- .../Controls/Samples/ResetValidation/Home.page | 25 +++++++++ .../Controls/Samples/ResetValidation/Home.php | 8 +++ .../Samples/TClientSideValidator/Home.page | 63 ++++++++++------------ .../Controls/Samples/TClientSideValidator/Home.php | 18 +++---- .../protected/pages/Controls/Validation.page | 31 +++++++---- 5 files changed, 90 insertions(+), 55 deletions(-) create mode 100644 demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.page create mode 100644 demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.php (limited to 'demos/quickstart/protected/pages/Controls') diff --git a/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.page b/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.page new file mode 100644 index 00000000..44f84abe --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.page @@ -0,0 +1,25 @@ + + +

Reset Validation using Javascript

+ + + + + + + + +
+Validator with default settings: + + + + + +Reset Validation +
+ +
$Id: Home.page 1650 2007-01-24 06:55:32Z wei $
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.php b/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.php new file mode 100644 index 00000000..88d2dbf2 --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/ResetValidation/Home.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page index c70e04c7..76ecb845 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page +++ b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page @@ -1,41 +1,36 @@ -

Validator Toggle - Server and Client Side

- - - -
- -
+

Conditional Validation (client-side + server side)

-
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php index c5440996..d6dded08 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php +++ b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php @@ -2,22 +2,16 @@ class Home extends TPage { - function validator2_onValidate($sender, $param) + function check_validate($sender, $params) { - $sender->Enabled = $this->check1->Checked; + $sender->enabled = $this->check1->checked; } - - function validate2_onPostValidate($sender, $param) - { - $sender->Enabled = true; - } - + function onPreRender($param) { - parent::onPreRender($param); - $this->panel1->Style = - $this->check1->Checked ? "display:block" : "display:none"; - } + //always re-enable the validator2 so as to display the client-side validator + $this->validator2->enabled=true; + } } ?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Validation.page b/demos/quickstart/protected/pages/Controls/Validation.page index 38699550..b93f6d49 100644 --- a/demos/quickstart/protected/pages/Controls/Validation.page +++ b/demos/quickstart/protected/pages/Controls/Validation.page @@ -31,14 +31,7 @@ Validators share a common set of properties, which are defined in the base class
  • FocusElementID - the ID of the HTML element that will receive focus if validation fails and FocusOnError is true.
  • -

    Interacting the Validators with Javascript

    -

    Resetting or Clearing of Validators

    -

    -Validators can be reset on the client-side using javascript by calling the -Prado.Validation.reset(groupID) where groupID is the validator -grouping name. If groupID is null, then validators without grouping are used. -

    - +

    Prado Validation Controls

    TRequiredFieldValidator

    @@ -159,6 +152,24 @@ The summary can be displayed as a list, a bulleted list, or a single paragraph b

    +

    Interacting the Validators

    +

    Resetting or Clearing of Validators

    +

    +Validators can be reset on the client-side using javascript by calling the +Prado.Validation.reset(groupID) where groupID is the validator +grouping name. If groupID is null, then validators without grouping are used. +

    + + + + + +

    Client and Server Side Conditional Validation

    All validators contains the following events. @@ -191,7 +202,9 @@ is the control that invoked the validator.

    Conditional Validation Example

    The following example show the use of client-side and server side validator events. The example -demonstrates conditional validation. +demonstrates conditional validation. Notice that, we need to write code for both the +server side and client-side. Moreover, on the server side, we need to re-enable the conditional +validator so that its javascript code are produced no matter what (otherwise, the client-side validator is not available).

    -- cgit v1.2.3