Defines the default client side validation logic which will be invoked by Form components with the clientValidationEnabled parameter set to true. You can override as little or as much of the default logic as you would like.
The source for tapestry.form.validation can be found here.
See also: Client-Side Validation, Form JavaScript Reference
The default CSS class name that will be applied to input fields with missing values. (also applies to other field types, like <select elements)>.
The current default value is fieldMissing.
The default CSS class name that will be applied to input fields with invalid values. (also applies to other field types, like <select elements)>.
The current default value is fieldInvalid.
Main entry point for running form validation. The props object passed in contains a number of fields that are managed by tapestry.form.
Parameter | Type | Required | Default | Description |
form | String element id / HTMLForm node | yes | The element id of the form, or the form html element itself. | |
profileProperties | json | no | A properties object containing tapestry specific form information, as well as the dojo validation profiles registered with this form. |
Returns: Boolean - If true then form validation passed and the form should be allowed to submit to the server, if false the form submission is cancelled and will not be posted to the server.
Sample properties format style used:
props = { // whether to run validation at all validateForm:[true|false], // set of dojo.validate.check() style profiles // that may have been registered with form profiles:[profile1, profile2] }
The individual profiles will contain any of the data described by the dojo documentation for dojo.validate.check(form, profile). In addition to that, each profile will also have a corresponding string message to display if the specified condition has been met.
For example, if you have specified that a select field named select1 was required your profile would look something like:
profile = { "required":["select1"], // normal dojo.validate.check data "select1":{ // tapestry field/error type specific data "required":"You must select a value for select1." } }
It is intended for you to call dojo.validate.check(form, profile) for each profile stored in the profiles field, as well as deciding how to display errors / warnings.
Called for each registered profile on a form after dojo.validate.check() has been called. This function is expected to do UI related notifications of fields in error.
Parameter | Type | Required | Default | Description |
form | Form node | yes | The form node that was processed. | |
results | JSON | yes | The result of calling dojo.validate.check(form,profile). | |
profile | JSON | yes | The original profile used to validate form, also holds validation error messages to be used for each field. |
Returns: Boolean - If false the form should not be submitted and all validation should be stopped. If true validation will continue and eventually form will be submitted. (if no other validation logic fails)
Default field decorator for missing fields.
Parameter | Type | Required | Default | Description |
field | element id | yes | The field element that was missing data. | |
profile | JSON | yes | The form validation profile. |
Default field decorator for invalid fields.
Parameter | Type | Required | Default | Description |
field | element id | yes | The field element that had invalid data. | |
profile | JSON | yes | The form validation profile. |
Clears out previous css classes set on fields during previous validation checks. This is called by tapestry.form.validation.validateForm just before running validation to ensure that any fields previously decorated with css rules reflect any changes users may have made to make them valid during the next validation check.
Parameter | Type | Required | Default | Description |
field | element id | yes | The field element to clear UI validation decorations on. | |
profileProperties | json | no | A properties object containing tapestry specific form information, as well as the dojo validation profiles registered with this field's form. |
Optionally allows an alert dialog/dhtml dialog/etc to be displayed to user to alert them to the invalid state of their form if validation errors have occurred.
This function is called by the default Tapestry client side form validation semantics to present a modal summary dialog to the user listing the error messages that indicate why their fields are in error.
Parameter | Type | Required | Default | Description |
form | Form node | yes | The form node that was processed. | |
results | JSON | yes | The result of calling dojo.validate.check(form,profile). | |
profileProperties | json | yes | A properties object containing tapestry specific form information, as well as the dojo validation profiles registered with this field's form. |