From 60b7253eba3bc955c010d9db786ee70dcaa788ab Mon Sep 17 00:00:00 2001
From: Bryan Nielsen
Date: Tue, 10 Sep 2024 13:03:00 -0400
Subject: [PATCH 1/3] Add documentation for form validation in templates
---
docs/_tips/form-validation.md | 1 +
docs/add-ons/email.md | 4 +-
docs/comment/form.md | 8 +-
docs/development/legacy/libraries/output.md | 75 ++++++++++++++++
docs/member/edit-profile.md | 21 +++++
docs/member/forgot-password.md | 48 ++++-------
docs/member/forgot-username.md | 45 +++-------
docs/member/login.md | 28 +++++-
docs/member/memberlist.md | 36 ++------
docs/member/registration.md | 10 ++-
docs/member/reset-password.md | 49 ++++-------
docs/templates/form-validation.md | 96 +++++++++++++++++++++
docs/templates/globals/single-variables.md | 31 ++++++-
docs/toc_sections/_the_fundamentals_toc.yml | 4 +-
14 files changed, 320 insertions(+), 136 deletions(-)
create mode 100644 docs/_tips/form-validation.md
create mode 100644 docs/templates/form-validation.md
diff --git a/docs/_tips/form-validation.md b/docs/_tips/form-validation.md
new file mode 100644
index 000000000..b6936d17c
--- /dev/null
+++ b/docs/_tips/form-validation.md
@@ -0,0 +1 @@
+TIP: **Tip:** This form utilizes template [form validation and error handling](/templates/form-validation.md). Refer to the documentation for additional parameters and variables that are available to this tag.
\ No newline at end of file
diff --git a/docs/add-ons/email.md b/docs/add-ons/email.md
index 3afec336c..63f28efe4 100755
--- a/docs/add-ons/email.md
+++ b/docs/add-ons/email.md
@@ -52,6 +52,8 @@ The contact form is created similar to a standard web form, only you **do not**
{/exp:email:contact_form}
+{{embed:_tips/form-validation.md}}
+
## Parameters
[TOC=3]
@@ -330,7 +332,7 @@ In the above example, the Template "friend" contains the Tell-a-Friend form.
[TOC=3]
### `allow_attachments=`
-
+
allow_attachments="yes"
This allows you to add a file input field to your form, make sure to give your file input field the name of `attachment`. Adding this parameter automatically gives the form the `enctype='multipart/form-data'` attribute.
diff --git a/docs/comment/form.md b/docs/comment/form.md
index 6b7c13751..5c4ea7098 100755
--- a/docs/comment/form.md
+++ b/docs/comment/form.md
@@ -35,7 +35,7 @@ The comment submission form is created very similar to a standard web form, only
-
+
{!-- required to prevent EE from outputting form if commenting is disabled or expired --}
{if comments_disabled}Comments on this entry are currently disabled.{/if}
{if comments_expired}Commenting on this entry has expired.{/if}
@@ -46,6 +46,8 @@ This form should be placed on a "single-entry" type page such as a comments page
TIP: **Tip:** Notice the variables in the "value" form fields? These allow us to show the user's information in the form automatically if they click the "remember personal info" option.
+{{embed:_tips/form-validation.md}}
+
## Comment Form Tag
### Parameters
@@ -227,11 +229,11 @@ A request for an edit will return a response array. In the case of an error, an
### Editing Permissions
-By using the [{if editable}](/comment/entries.html#if-editable) conditional in the Comment Entries tag, you can output a link, instructions or a form if the viewing member has permission to edit the comment, and by using the {if can_moderate_comment} you can display whatever is appropriate if the viewing member has permission to moderate (close) the comment.
+By using the [{if editable}](/comment/entries.md#if-editable) conditional in the Comment Entries tag, you can output a link, instructions or a form if the viewing member has permission to edit the comment, and by using the {if can_moderate_comment} you can display whatever is appropriate if the viewing member has permission to moderate (close) the comment.
For members without administrative access, in order to edit a comment they must be logged in, the author of the comment, and the editing time limit must not have expired. If a member has a role with permission to edit the comments of any entry, that member will have edit permissions regardless of the editing time limit.
-Comment moderators may close the comment. The edit time limit does not apply to moderators.
+Comment moderators may close the comment. The edit time limit does not apply to moderators.
Superadmins will always have {editable} and {can_moderate_comment} permissions on any comment.
diff --git a/docs/development/legacy/libraries/output.md b/docs/development/legacy/libraries/output.md
index b34f7f88c..f2b5e5aac 100755
--- a/docs/development/legacy/libraries/output.md
+++ b/docs/development/legacy/libraries/output.md
@@ -195,3 +195,78 @@ $output = array(
'message' => 'not allowed',
);
ee()->output->send_ajax_response($output, true);
+
+### `show_message($data, $xhtml = true, $redirect_url = false, $template_name = 'generic')`
+
+| Parameter | Type | Description |
+| --------------- | -------- | ------------------------------------------------------------------------------------------ |
+| \$data | `Array` | Data to be sent to the view. Explained below |
+| \$xhtml | `Bool` | Parse the content as HTML |
+| \$redirect_url | `String` | URL to redirect to instead of showing the message |
+| \$template_name | `String` | Specialty template to use. Defaults to `generic` which is equivalent of `message_template` |
+| Returns | `Void` | void |
+
+Show user message using [system message template](control-panel/template-manager.md#system-message-templates) or [custom template](control-panel/template-manager.md#custom-system-messages). This is used on front-end, for instance, when we need to inform the user about successful form submission.
+
+When `$redirect_url` is provided, the user will be redirected to that URL instead of showing the message.
+
+The `$data` parameter is an associative array with the following keys:
+ - `title` - HTML titles of message page
+ - `heading` - heading text
+ - `content` - main content
+ - `redirect` - URL to automatically redirect to after showing message
+ - `rate` - time in seconds after which the redirect happens
+ - `link` - the link to include in the message. Should be in the format of `array($link_url, $link_text)`
+
+Example:
+
+ $data = array(
+ 'title' => 'Title',
+ 'heading' => 'Heading',
+ 'content' => 'Content',
+ 'redirect' => 'http://example.com',
+ 'rate' => 5,
+ 'link' => array('http://example.com', 'Link Text')
+ );
+ ee()->output->show_message($data);
+
+### `show_user_error($type = 'submission', $errors = '', $heading = '', $redirect_url = '')`
+
+| Parameter | Type | Description |
+| --------------- | -------- | ------------------------------------------------------------------------------------------ |
+| \$type | `String` | Type of error. Defaults to `submission`, can also be `general` or `off` |
+| \$errors | `Mixed` | Error message or array of messages to display. |
+| \$heading | `String` | Heading text. Legacy, not used, set automatically based on type. |
+| \$redirect_url | `String` | URL to redirect to instead of showing the message |
+| Returns | `Void` | void |
+
+Show user an error message using [system message template](control-panel/template-manager.md#system-message-templates) or [custom template](control-panel/template-manager.md#custom-system-messages). This is used on front-end, for instance, when a form is submitted without the required info.
+
+When `$redirect_url` is provided, the user will be redirected to that URL instead of showing the message. Useful when the form is set to [handle errors inline](templates/globals/single-variables.md#error-variables).
+
+ $return_error_link = ee()->functions->determine_error_return();
+ ee()->output->show_user_error('submission', $errors, '', $return_error_link);
+
+### `show_form_error($errors, $type = 'general')`
+
+| Parameter | Type | Description |
+| --------------- | -------- | ------------------------------------------------------------------------------------------ |
+| \$errors | `Mixed` | Array of error messages or instance of \ExpressionEngine\Service\Validation\Result |
+| \$type | `String` | Type of error. Defaults to `general`, can also be `submission` or `off` |
+| Returns | `Void` | void |
+
+Handle displaying errors for a form either passed as a Validation Result or an array of errors. If the form is using
+inline error handling the errors and old input will be flashed to the session otherwise they will be displayed with the
+appropriate template.
+
+### `show_form_error_aliases($errors = '', $aliases = [], $type = 'general')`
+
+| Parameter | Type | Description |
+| --------------- | -------- | --------------------------------------------------------------------------------------------- |
+| \$errors | `Mixed` | Array of error messages or instance of \ExpressionEngine\Service\Validation\Result |
+| \$aliases | `Array` | Array of aliases to use, i.e. ['input_id_1' => ['field' => 'input_name', 'label' => 'Input']] |
+| \$type | `String` | Type of error. Defaults to `general`, can also be `submission` or `off` |
+| Returns | `Void` | void |
+
+This function builds upon `show_form_error()` with the additional ability to provide aliases for input names so
+that variable names used in inline error handling can be more meaningful i.e. `field_name` instead of `field_id_1`.
\ No newline at end of file
diff --git a/docs/member/edit-profile.md b/docs/member/edit-profile.md
index 194018434..11996ac8c 100644
--- a/docs/member/edit-profile.md
+++ b/docs/member/edit-profile.md
@@ -17,6 +17,8 @@
This template tag allows editing a member's profile using the form that is similar to [Channel Form](channels/channel-form/overview.md). Please note however that not all Channel Form parameters and template tags are available in the Member Profile form, so make sure to consult the documentation below. The form can only be used to update profile of the member that is currently logged in.
+{{embed:_tips/form-validation.md}}
+
## Parameters
{{embed:_tips/form-attributes.md}}
@@ -194,6 +196,7 @@ Short name of the fieldtype used for field
{exp:member:edit_profile
return="member/registration/success"
include_assets="yes"
+ inline_errors="yes"
datepicker="yes"
}
@@ -204,27 +207,42 @@ Short name of the fieldtype used for field
You must enter your current password to change your password, username or email.
+ {if error:current_password}
+ {error:current_password}
+ {/if}
@@ -235,6 +253,9 @@ Short name of the fieldtype used for field
{form:custom_profile_field}
+ {if has_error}
+ {error}
+ {/if}
{/custom_profile_fields}
diff --git a/docs/member/forgot-password.md b/docs/member/forgot-password.md
index be0bfe65e..707162e26 100644
--- a/docs/member/forgot-password.md
+++ b/docs/member/forgot-password.md
@@ -24,16 +24,18 @@ Output a forgotten password form that sends an email with instructions for reset
{/exp:member:forgot_password_form}
-
+
NOTE: **Note:** This form will only email the user if the user requesting the password reset is not currently logged in.
+{{embed:_tips/form-validation.md}}
+
## Parameters
### `email_template=`
email_template="member/email-password-reset"
-Template to use for email which is sent to user.
+Template to use for email which is sent to user.
NOTE: **Note:** If no template is defined, the default [Member Profile Template](control-panel/template-manager.md#member-profile-templates) for a forgotten password will be used.
@@ -66,47 +68,27 @@ Member email address. This is a **required** field:
-
-
-## Variable Pairs
-
-### `{errors}`
-
-Form submission errors are displayed using a "looping pair" as there can be more than 1 error in a form submission.
-
- {errors}
-
{error}
- {/errors}
-
-#### Error Tag Pair Parameters
-
-##### `backspace=`
-
- backspace="3"
-
-The `backspace=` parameter will remove characters, including spaces and line breaks, from the last iteration of the tag pair.
-
-#### Error Tag Pair Variables
-
-##### `{error}`
-
- {error}
-
-The error text.
-
-
-
## Example
{exp:member:forgot_password_form
return="member/forgot-password/sent"
+ inline_errors="yes"
password_reset_url="member/reset-password"
email_template="member/email-password-reset"
}
+ {if errors}
+
+ {/if}
+
-
+
diff --git a/docs/member/forgot-username.md b/docs/member/forgot-username.md
index 7da35a676..8cf71e447 100644
--- a/docs/member/forgot-username.md
+++ b/docs/member/forgot-username.md
@@ -24,6 +24,8 @@ Output a forgotten username form that sends an email with instructions for addre
{/exp:member:forgot_username_form}
+{{embed:_tips/form-validation.md}}
+
## Parameters
### `email_subject=`
@@ -37,7 +39,7 @@ Subject of email sent to user.
email_template="member/email-forgot-username"
-Template to use for email which is sent to user.
+Template to use for email which is sent to user.
If no template is defined or if the template defined does not exist, the default [Member Profile Template](control-panel/template-manager.md#member-profile-templates) for a forgotten username will be used.
@@ -59,46 +61,27 @@ Member email address. This is a **required** field:
-
-
-## Variable Pairs
-
-### `{errors}`
-
-Form submission errors are displayed using a "looping pair" as there can be more than 1 error in a form submission.
-
- {errors}
-
{error}
- {/errors}
-
-#### Error Tag Pair Parameters
-
-##### `backspace=`
-
- backspace="3"
-
-The `backspace=` parameter will remove characters, including spaces and line breaks, from the last iteration of the tag pair.
-
-#### Error Tag Pair Variables
-
-##### `{error}`
-
- {error}
-
-The error text.
-
-
## Example
{exp:member:forgot_username_form
return="member/login/forgot-username"
+ inline_errors="yes"
email_subject="Your Username"
email_template="member/email-forgot-username"
}
+ {if errors}
+
+ {/if}
+
-
+
diff --git a/docs/member/login.md b/docs/member/login.md
index 6d99cde80..ca8a130da 100644
--- a/docs/member/login.md
+++ b/docs/member/login.md
@@ -26,6 +26,8 @@ Output a login form.
{/exp:member:login_form}
+{{embed:_tips/form-validation.md}}
+
## Parameters
{{embed:_tips/form-attributes.md}}
@@ -114,14 +116,36 @@ It is recommended that you use this variable as indicated in the example code at
## Example
- {exp:member:login_form return="member/index"}
+ {exp:member:login_form return="member/index" inline_errors="yes"}
+ {!-- You can display all errors at the top of the page or use the individual field {error:} tags shown later --}
+ {!--
+ {if errors}
+
+ {/if}
+ --}
+
+ {if error:general}
+ {error:general}
+ {/if}
+
diff --git a/docs/member/memberlist.md b/docs/member/memberlist.md
index b80ce2140..f8606a0e6 100644
--- a/docs/member/memberlist.md
+++ b/docs/member/memberlist.md
@@ -15,6 +15,8 @@
Outputs a searchable list of members, including form filters to sort and limit the members.
+{{embed:_tips/form-validation.md}}
+
## Parameters
{{embed:_tips/form-attributes.md}}
@@ -98,7 +100,7 @@ This is a **required** variable in order to use the search form. It creates the
### `{role_options}`
-Form submission errors are displayed using a "looping pair" as there can be more than 1 error in a form submission.
+A list of options for filtering by member role
{/custom_fields}
@@ -211,7 +216,7 @@ Displays the custom field input form for the given field (substitute `field_name
{exp:member:registration_form
return="member/registration/success"
- error_handling="inline"
+ inline_errors="yes"
}
* Required fields
@@ -259,6 +264,9 @@ Displays the custom field input form for the given field (substitute `field_name
{captcha}
+ {if error:captcha}
+ {error:captcha}
+ {/if}
{/if}
diff --git a/docs/member/reset-password.md b/docs/member/reset-password.md
index e19e702d5..68d3d0028 100644
--- a/docs/member/reset-password.md
+++ b/docs/member/reset-password.md
@@ -28,6 +28,8 @@ Output a reset password form that allows members accessing it via a link from a
{/exp:member:reset_password_form}
+{{embed:_tips/form-validation.md}}
+
## Parameters
### `return=`
@@ -47,7 +49,7 @@ NOTE: Be sure to include the required Javascript and CSS to use the native [Pass
-The new password to set.
+The new password to set.
### Password Confirmation
@@ -57,49 +59,36 @@ The new password to set.
Duplicate of the new password set in the password form input.
-
-## Variable Pairs
-
-### `{errors}`
-
-Form submission errors are displayed using a "looping pair" as there can be more than 1 error in a form submission.
-
- {errors}
-
{error}
- {/errors}
-
-#### Error Tag Pair Parameters
-
-##### `backspace=`
-
- backspace="3"
-
-The `backspace=` parameter will remove characters, including spaces and line breaks, from the last iteration of the tag pair.
-
-#### Error Tag Pair Variables
-
-##### `{error}`
-
- {error}
-
-The error text.
-
-
-
## Example
{exp:member:reset_password_form
return="member/login/success"
+ inline_errors="yes"
}
+ {if errors}
+
+ {/if}
+
diff --git a/docs/templates/form-validation.md b/docs/templates/form-validation.md
new file mode 100644
index 000000000..8163a12ac
--- /dev/null
+++ b/docs/templates/form-validation.md
@@ -0,0 +1,96 @@
+
+
+# Form Validation
+
+[TOC]
+
+ExpressionEngine provides several template tags that produce interactive forms. When a user submits a form the input is validated and any errors are then shown to the user. The two methods for presenting these errors to your users are through a system error template or by using inline errors in your own custom templates.
+
+## Error Template
+
+By default ExpressionEngine will show validation errors to your users with a system template. You can configure the look and feel of this page by using [Custom System Messages](control-panel/template-manager.md#custom-system-messages).
+
+## Inline Errors
+
+Alternatively you can show users any validation errors on the same page where they are providing input with inline errors. The following template tags support inline errors and can make use of the following parameters and variables.
+
+*Supported Template Tags:*
+
+- [Comment Submission Form](/comment/form.md) `{exp:comment:form}`
+- [Email Contact Form](/add-ons/email.md#email-contact-form) `{exp:email:contact_form}`
+- [Member Edit Profile](/member/edit-profile.md) `{exp:member:edit_profile}`
+- [Member Forgot Password](/member/forgot-password.md) `{exp:member:forgot_password_form}`
+- [Member Forgot Username](/member/forgot-username.md) `{exp:member:forgot_username_form}`
+- [Member Login](/member/login.md) `{exp:member:login_form}`
+- [Member Registration](/member/registration.md) `{exp:member:registration_form}`
+- [Member Reset Password](/member/reset-password.md) `{exp:member:reset_password_form}`
+
+### Parameters
+
+[TOC=4]
+
+#### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter allows you to use inline errors in your form. The errors can be displayed using the `{errors}` variable pair or individually using the `{error:field_name}` tag (where `field_name` would be replaced with the name of your field).
+
+#### `return_error=`
+
+ return_error="template_group/error"
+
+When inline errors are enabled, this parameter allows you to specify the template to return to if there are errors in the form. The default is the same template that the form is on.
+
+### Variables
+
+[TOC=4]
+
+#### Errors Pair
+
+ {errors}...{error}...{/errors}
+
+When inline errors enabled, this tag pair will display all errors in a loop. Each individual error message is available as an `{error}` variable within the loop.
+
+This is useful for displaying all errors at once, for example, in a fieldset at the top of the form. It can also be used as a conditional to check if there are any errors at all: `{if errors}`.
+
+ {if errors}
+
Please correct the following errors:
+
+ {errors}
+
{error}
+ {/errors}
+
+ {/if}
+
+#### Field Error Single
+
+ {error:field_name}
+
+You can also access an error for a specific field. This can be desirable if you want to show the error next to the input element that was invalid.
+
+#### Field Value Single
+
+ {old:field_name}
+
+Retrieve a value for a specific field that was sent during the invalid submission.
+
+NOTE: **Note:** These values are only flashed to the session for a single request and fields with sensitive names like "password" will not be stored
+
+### Example Usage
+
+```
+
+```
diff --git a/docs/templates/globals/single-variables.md b/docs/templates/globals/single-variables.md
index 47660fc0f..1b7592136 100755
--- a/docs/templates/globals/single-variables.md
+++ b/docs/templates/globals/single-variables.md
@@ -7,13 +7,13 @@
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
-->
-# Single Global Variables
+# Global Variables
[TOC]
These Global Variables can be used anywhere within your Templates. Note that they are subject to ExpressionEngine's [parsing order](templates/engine.md), which can affect their availability when used inside other tags.
-## Variables
+## Single Variables
[TOC=3 hide]
@@ -39,7 +39,7 @@ The active session id for the control panel. This is the value needed in the "S=
• CP Link
{/if}
-NOTE: **Note:** To check non-primary roles, use [exp:member:has_role](/member/member-roles-tags.html#expmemberhas_role)
+NOTE: **Note:** To check non-primary roles, use [exp:member:has_role](/member/member-roles-tags.md#expmemberhas_role)
### `{cp_url}`
@@ -315,7 +315,7 @@ The Member ID for the currently logged-in user.
The Primary Role ID number for the currently logged-in user.
-NOTE: **Note:** To check and display non-primary roles, use [exp:member:has_role](/member/member-roles-tags.html#expmemberhas_role)
+NOTE: **Note:** To check and display non-primary roles, use [exp:member:has_role](/member/member-roles-tags.md#expmemberhas_role)
### `{logged_in_primary_role_name}`
@@ -360,3 +360,26 @@ The total number of forum topics made by the currently logged-in user.
### `{logged_in_username}`
The username for the currently logged-in user.
+
+## Error Variables
+
+ExpressionEngine makes several variables available for handling [Form Validation](/templates/form-validation.md) errors.
+
+### `{if errors}`
+
+Conditionally check if error messages are present.
+
+### `{errors}...{error}...{/errors}`
+
+This variable pair is useful for displaying all errors at once, for example, in a fieldset at the top of the form. Inside the pair, each individual error message is available as `{error}` variable.
+
+ {if errors}
+
Please correct the following errors:
+
+ {errors}
+
{error}
+ {/errors}
+
+ {if:else}
+
+ {/if}
\ No newline at end of file
diff --git a/docs/toc_sections/_the_fundamentals_toc.yml b/docs/toc_sections/_the_fundamentals_toc.yml
index a74b7f465..676d19b06 100644
--- a/docs/toc_sections/_the_fundamentals_toc.yml
+++ b/docs/toc_sections/_the_fundamentals_toc.yml
@@ -142,7 +142,7 @@
href: templates/variable.md
- name: Global Template Variables
items:
- - name: Single Global Variables
+ - name: Global Variables
href: templates/globals/single-variables.md
- name: Linking to Stylesheets
href: templates/globals/stylesheet.md
@@ -164,6 +164,8 @@
href: templates/routes.md
- name: Pagination
href: templates/pagination.md
+ - name: Form Validation
+ href: templates/form-validation.md
- name: The Template Engine
href: templates/engine.md
From 3565bddcad34458e3a0e1df531f384a9b10d86a4 Mon Sep 17 00:00:00 2001
From: Bryan Nielsen
Date: Tue, 10 Sep 2024 13:03:59 -0400
Subject: [PATCH 2/3] Resolve warnings for missing links in documentation
---
docs/add-ons/pro-search/examples.md | 4 ++--
docs/add-ons/pro-search/filters.md | 8 ++++----
docs/channels/entries.md | 2 +-
docs/control-panel/utilities/data-operations.md | 2 +-
docs/development/addon-development-overview.md | 4 ++--
docs/development/services/cookie-registry.md | 2 +-
docs/installation/changelog.md | 2 +-
7 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/docs/add-ons/pro-search/examples.md b/docs/add-ons/pro-search/examples.md
index 330935542..e69362ea1 100644
--- a/docs/add-ons/pro-search/examples.md
+++ b/docs/add-ons/pro-search/examples.md
@@ -280,7 +280,7 @@ Below is a list of radio buttons, one for each letter of the alphabet. Selecting
Below is a list of checkboxes based on a custom channel field of the Checkboxes type. You can select multiple options from this list. Entries will be shown that have any of the selected options checked. Uses [Low Options](https://github.com/EEHarbor/low_options) to generate field options.
-Adding `contains_words="parameter_name"` to the Results tag will ensure that the selected items are not contained within other words, like appending `\W` to the values.
+Adding `contains_words="parameter_name"` to the Results tag will ensure that the selected items are not contained within other words, like appending `\W` to the values.
{exp:pro_search:form query="{segment_3}"}
{exp:low_options:service_options}
@@ -503,7 +503,7 @@ Below are two lists of tags. You can select multiple tags per list. Entries that
## Other & Native
-In addition to what all the [filters](/add-ons/pro-search/filters.md) bring to the party, you can also filter by native ExpressionEngine parameters, as well as some [little extras](/add-ons/pro-search/tags.md#results-tag).
+In addition to what all the [filters](/add-ons/pro-search/filters.md) bring to the party, you can also filter by native ExpressionEngine parameters, as well as some [little extras](/add-ons/pro-search/tags.md#exppro_searchresults).
### Orderby and sort in one go
diff --git a/docs/add-ons/pro-search/filters.md b/docs/add-ons/pro-search/filters.md
index a0dca61a9..9f806b694 100644
--- a/docs/add-ons/pro-search/filters.md
+++ b/docs/add-ons/pro-search/filters.md
@@ -95,7 +95,7 @@ The automatic `keywords:mode` uses operators in keywords for any/all/exact match
### Singulars & Plurals
-Pro Search supports singular and plural matching of keywords [inflections](http://en.wikipedia.org/wiki/Inflection). To enable this, both the `keywords:inflect` and the `keywords:lang` parameters must be set. Pro Search supports English inflections natively and you can add support for other languages by adding inflection rules to your [Config file](/general/system_configuration_overrides.md):
+Pro Search supports singular and plural matching of keywords [inflections](http://en.wikipedia.org/wiki/Inflection). To enable this, both the `keywords:inflect` and the `keywords:lang` parameters must be set. Pro Search supports English inflections natively and you can add support for other languages by adding inflection rules to your [Config file](/general/system-configuration-overrides.md):
```
$config['pro_search_inflection_rules'][lang] = array(
@@ -110,7 +110,7 @@ $config['pro_search_inflection_rules'][lang] = array(
### Stems
-Pro Search supports matching of keywords by their stem [stemming](http://en.wikipedia.org/wiki/Stemming). To enable this, both the `keywords:stem` and the `keywords:lang` parameters must be set. English stemming is supported natively, using a [Porter stemmer](http://tartarus.org/martin/PorterStemmer/) class, and you can add support for other languages by adding this to your [Config file](/general/system_configuration_overrides.md):
+Pro Search supports matching of keywords by their stem [stemming](http://en.wikipedia.org/wiki/Stemming). To enable this, both the `keywords:stem` and the `keywords:lang` parameters must be set. English stemming is supported natively, using a [Porter stemmer](http://tartarus.org/martin/PorterStemmer/) class, and you can add support for other languages by adding this to your [Config file](/general/system-configuration-overrides.md):
```
$config['pro_search_stemmers'][lang] = array(
@@ -154,7 +154,7 @@ You can use the Distance filter to limit results by a given maximum distance. Th
NOTE: **Note:** Use two separate fields instead of a single one for better performance.
### Variables
-The Distance filter also makes this variable available in the [Results tag](/add-ons/pro-search/tags#results-tag):
+The Distance filter also makes this variable available in the [Results tag](/add-ons/pro-search/tags.md#exppro_searchresults):
#### `{pro_search_distance}`
The calculated distance in the given unit for this entry.
@@ -163,7 +163,7 @@ NOTE: **Note:** Using the Distance filter will return the search results ordered
## Field Search
-You can use the native `search:field_name` parameter to target specific fields. Additionally, Pro Search can target the entry’s ***title***, ***url_title***, ***status***, target [Grid](/fieldtypes/grid.md) columns, use multiple values for [numeric matching](/channel/channel_entries.md#numeric-matching) (in combination with the `gt`, `gte`, `lt` and `lte` params), and use ***starts / ends with*** matching.
+You can use the native `search:field_name` parameter to target specific fields. Additionally, Pro Search can target the entry’s ***title***, ***url_title***, ***status***, target [Grid](/fieldtypes/grid.md) columns, use multiple values for [numeric matching](/channels/entries.md#numeric-matching) (in combination with the `gt`, `gte`, `lt` and `lte` params), and use ***starts / ends with*** matching.
### Parameters
diff --git a/docs/channels/entries.md b/docs/channels/entries.md
index 4a02a4585..63ea5400b 100755
--- a/docs/channels/entries.md
+++ b/docs/channels/entries.md
@@ -893,7 +893,7 @@ The "count" out of the current entries being displayed. If five entries are bein
Edit Entry
{/if}
-The URL of the entry form in the control panel where this entry can be edited. It is recommended you wrap this variable in an `{if logged_in}` conditional to hide your control panel's URL from regular site visitors. If you are running a membership-based site, hide it behind an appropriate `logged_in_primary_role_id` conditional or use [exp:member:has_role](/member/member-roles-tags.html#expmemberhas_role). For example, to hide this link from everyone but Super Admins:
+The URL of the entry form in the control panel where this entry can be edited. It is recommended you wrap this variable in an `{if logged_in}` conditional to hide your control panel's URL from regular site visitors. If you are running a membership-based site, hide it behind an appropriate `logged_in_primary_role_id` conditional or use [exp:member:has_role](/member/member-roles-tags.md#expmemberhas_role). For example, to hide this link from everyone but Super Admins:
{if logged_in_primary_role_id == 1}
Edit Entry
diff --git a/docs/control-panel/utilities/data-operations.md b/docs/control-panel/utilities/data-operations.md
index 16428d4e4..00fb88fac 100644
--- a/docs/control-panel/utilities/data-operations.md
+++ b/docs/control-panel/utilities/data-operations.md
@@ -59,7 +59,7 @@ Run this utility to convert all files stored in the database from sites previous
It is recommended that you make sure all installed add-ons are compatible with ExpressionEngine 7 and newer, and that you have made a backup of your database before running the utility.
-After the update operation is completed, visit `Content & Design Settings` to disable [Compatibility Mode](control-panel/file-manager/file-manager.html#compatibility-mode) for File Manager.
+After the update operation is completed, visit `Content & Design Settings` to disable [Compatibility Mode](control-panel/file-manager/file-manager.md#compatibility-mode) for File Manager.
## Manage Statistics
diff --git a/docs/development/addon-development-overview.md b/docs/development/addon-development-overview.md
index 88746112f..376b6e413 100644
--- a/docs/development/addon-development-overview.md
+++ b/docs/development/addon-development-overview.md
@@ -11,7 +11,7 @@
With custom add-ons you can add new fieldtypes, features, template tags, and much more to ExpressionEngine. Here we are going to look at different parts of an add-on, and how to define just what our add-on is going to do.
-TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](cli/intro.html) will generate all the pieces we need based on what functions we want our add-on to have.
+TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](cli/intro.md) will generate all the pieces we need based on what functions we want our add-on to have.
[TOC]
@@ -32,7 +32,7 @@ Here are some ideas of what you can accomplish with a custom add-on:
These are just a few ideas of what you can do with custom add-ons. The possibilities are almost endless.
## Getting Started
-Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the [`make:addon` command](/cli/built-in-commands/make-addon.md) from the [CLI](/cli/intro.html).
+Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the [`make:addon` command](/cli/built-in-commands/make-addon.md) from the [CLI](/cli/intro.md).
TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md)
diff --git a/docs/development/services/cookie-registry.md b/docs/development/services/cookie-registry.md
index fd0c095c0..becea2312 100644
--- a/docs/development/services/cookie-registry.md
+++ b/docs/development/services/cookie-registry.md
@@ -15,7 +15,7 @@ For the cookies set in ExpressionEngine, site owners can set the cookie lifetime
`CookieRegistry` is the underlying service that makes saving and using those settings possible.
-NOTE: Normally, the add-ons that have their cookies properly [registered](development/addon-setup-php-file.html#cookies) do not need to call this service directly.
+NOTE: Normally, the add-ons that have their cookies properly [registered](development/addon-setup-php-file.md#cookies) do not need to call this service directly.
## Cookie Registry Constants
diff --git a/docs/installation/changelog.md b/docs/installation/changelog.md
index 741862653..ce8365c9b 100755
--- a/docs/installation/changelog.md
+++ b/docs/installation/changelog.md
@@ -1825,6 +1825,6 @@ NOTE:**Note:** If multiple members are needed, an ExpressionEngine Pro license i
- Simple Commerce Add-on has now been removed from ExpressionEngine and made a downloadable add-on from the ExpressionEngine Store. On upgrades which use the Simple Commerce Add-on, the add-on will be moved from the `ee/addons` folder to `user/addons` and considered a user installed add-on.
- Ip to Nation Add-on has now been removed from ExpressionEngine and made a downloadable add-on from the ExpressionEngine Store. On upgrades which use the Ip to Nation Add-on, the add-on will be moved from the `ee/addons` folder to `user/addons` and considered a user installed add-on.
- The included version of jQuery used in the Control Panel has been updated to v3.6.0
- - Added the option to [globally cache](/channels/entries.html#cache-refresh-cache_prefix) Channel Entries tag results
+ - Added the option to [globally cache](/channels/entries.md#cache-refresh-cache_prefix) Channel Entries tag results
- Added [ENV File Support](/advanced-usage/env-support.md)
- Added new Shared Form View
From c13701ee3aa8619ac06c8358d235f207b69646cc Mon Sep 17 00:00:00 2001
From: robinsowell
Date: Wed, 9 Oct 2024 12:03:22 -0400
Subject: [PATCH 3/3] Added in inline error params and alphabetized in a few
cases
---
docs/add-ons/email.md | 12 +++++
docs/comment/form.md | 57 +++++++++++++++---------
docs/member/edit-profile.md | 53 +++++++++++++---------
docs/member/forgot-password.md | 12 +++++
docs/member/forgot-username.md | 12 +++++
docs/member/login.md | 11 +++++
docs/member/memberlist.md | 81 ++++++++++++++++++++--------------
docs/member/registration.md | 42 ++++++++++--------
docs/member/reset-password.md | 12 +++++
9 files changed, 196 insertions(+), 96 deletions(-)
diff --git a/docs/add-ons/email.md b/docs/add-ons/email.md
index 63f28efe4..733afef84 100755
--- a/docs/add-ons/email.md
+++ b/docs/add-ons/email.md
@@ -66,6 +66,12 @@ The contact form is created similar to a standard web form, only you **do not**
This allows you to set the character set of the email being sent. Use this if your form's template is using a character set other than iso-8859-1.
+### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
### `name=`
name="myForm"
@@ -122,6 +128,12 @@ If used with the redirect="none" parameter, the link text can be specified by ad
If the `redirect` parameter was set to value of `return`, then the user will be redirected immediately after submission of the form.
+### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
### `preview=`
preview="about/contact-preview"
diff --git a/docs/comment/form.md b/docs/comment/form.md
index 5c4ea7098..73b8d11c8 100755
--- a/docs/comment/form.md
+++ b/docs/comment/form.md
@@ -56,28 +56,6 @@ TIP: **Tip:** Notice the variables in the "value" form fields? These allow us to
{{embed:_tips/form-attributes.md}}
-#### `entry_id=`
-
- entry_id="24"
-
-You can hard code the comment form tag to display a comment form for a specific channel entry by its entry ID.
-
-NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belongs to.
-
-#### `preview=`
-
- preview="channel/preview"
-
-This is a **required** parameter if you are using comment previews indicating which template should be used for comment previews. Like other "path" variables in ExpressionEngine you will use the Template Group/Template name. More on previewing can be found in the [Comment Previewing](#comment-previewing) section.
-
-#### `url_title=`
-
- url_title="my_wedding"
-
-You can hard code the comment for tag to display a comment form for a specific channel entry by its URL title.
-
-NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belongs to.
-
#### `channel=`
channel="news"
@@ -88,6 +66,14 @@ If you link to your comment form page using the entry's URL Title, then you are
Because you can have the same URL Title in different channels, using this parameter will ensure that the comment submitted will be associated with the correct entry. Without this parameter, it is possible that the comment could be associated with an entry in a different channel that happens to have the same URL Title.
+#### `entry_id=`
+
+ entry_id="24"
+
+You can hard code the comment form tag to display a comment form for a specific channel entry by its entry ID.
+
+NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belongs to.
+
#### `form_class=`
form_class="news_comment_form"
@@ -100,6 +86,19 @@ With this parameter, you can specify the css class you want the form to have, en
With this parameter, you can specify the css id you want the form to have. The default value is 'comment_form'
+
+#### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
+#### `preview=`
+
+ preview="channel/preview"
+
+This is a **required** parameter if you are using comment previews indicating which template should be used for comment previews. Like other "path" variables in ExpressionEngine you will use the Template Group/Template name. More on previewing can be found in the [Comment Previewing](#comment-previewing) section.
+
#### `return=`
return="template_group/template/url_title"
@@ -111,6 +110,20 @@ This parameter allows you to define where the user will be returned after submit
If this parameter is not defined, they will be returned to the form page.
+#### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
+#### `url_title=`
+
+ url_title="my_wedding"
+
+You can hard code the comment for tag to display a comment form for a specific channel entry by its URL title.
+
+NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belongs to.
+
### Conditionals
[TOC=4]
diff --git a/docs/member/edit-profile.md b/docs/member/edit-profile.md
index 11996ac8c..81689ee59 100644
--- a/docs/member/edit-profile.md
+++ b/docs/member/edit-profile.md
@@ -23,25 +23,38 @@ This template tag allows editing a member's profile using the form that is simil
{{embed:_tips/form-attributes.md}}
+
### `datepicker=`
-Include the datepicker javascript. This should be set to ``yes`` if there is a date type member custom field in order to output the calendar.
+ datepicker="no"
- datepicker="yes"
+Adds the datepicker to your date fields. Defaults to "yes".
-### `include_assets=`
+NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`.
- include_assets="yes"
+### `form_class=`
-Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are **not** included
+ form_class="login"
-### `datepicker=`
+This parameter allows you to specify the class attribute for the <form> tag.
- datepicker="no"
+### `form_id=`
-Adds the datepicker to your date fields. Defaults to "yes".
+ form_id="login"
-NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`.
+This parameter allows you to specify the id attribute for the <form> tag.
+
+### `form_name=`
+
+ form_name="login"
+
+This parameter allows you to specify a name attribute for the <form> tag.
+
+### `include_assets=`
+
+ include_assets="yes"
+
+Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are **not** included
### `include_css=`
@@ -57,27 +70,23 @@ Includes jQuery automatically. Defaults to "yes".
NOTE: **Note:** If you are using your own copy of jQuery you will need to load it **before** the form.
-### `return=`
-
- return="member/registration/success"
-
-### `form_class=`
+### `inline_errors=`
- form_class="login"
+ inline_errors="yes"
-This parameter allows you to specify the class attribute for the <form> tag.
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
-### `form_id=`
+### `return=`
- form_id="login"
+ return="member/registration/success"
+
+### `return_error=`
-This parameter allows you to specify the id attribute for the <form> tag.
+ return_error="template_group/error"
-### `form_name=`
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
- form_name="login"
-This parameter allows you to specify a name attribute for the <form> tag.
## Form Inputs
NOTE: Be sure to include the required Javascript and CSS to use the native [Password Validation](member/password-validation.md).
diff --git a/docs/member/forgot-password.md b/docs/member/forgot-password.md
index 707162e26..c457c88f2 100644
--- a/docs/member/forgot-password.md
+++ b/docs/member/forgot-password.md
@@ -39,6 +39,12 @@ Template to use for email which is sent to user.
NOTE: **Note:** If no template is defined, the default [Member Profile Template](control-panel/template-manager.md#member-profile-templates) for a forgotten password will be used.
+### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
### `password_reset_url=`
password_reset_url="member/reset-password"
@@ -57,6 +63,12 @@ This parameter allows you to define where the user will be returned after succes
1. Use the standard Template_Group/Template syntax to specify where to return the user. For instance, if you want the user to be returned to the "local" Template in the "news" Template Group, you would use: return="member/forgot-password/sent"
2. Use a full URL. For example: return=""
+### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
## Form Inputs
NOTE: Be sure to include the required Javascript and CSS to use the native [Password Validation](member/password-validation.md).
diff --git a/docs/member/forgot-username.md b/docs/member/forgot-username.md
index 8cf71e447..16a695561 100644
--- a/docs/member/forgot-username.md
+++ b/docs/member/forgot-username.md
@@ -43,6 +43,12 @@ Template to use for email which is sent to user.
If no template is defined or if the template defined does not exist, the default [Member Profile Template](control-panel/template-manager.md#member-profile-templates) for a forgotten username will be used.
+### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
### `return=`
return="member/login/forgot-username"
@@ -52,6 +58,12 @@ This parameter allows you to define where the user will be returned after succes
1. Use the standard Template_Group/Template syntax to specify where to return the user. For instance, if you want the user to be returned to the "local" Template in the "news" Template Group, you would use: return="member/login/forgot-username"
2. Use a full URL. For example: return=""
+### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
## Form Inputs
### Email
diff --git a/docs/member/login.md b/docs/member/login.md
index ca8a130da..b170ac170 100644
--- a/docs/member/login.md
+++ b/docs/member/login.md
@@ -56,6 +56,13 @@ This parameter allows you to specify the id attribute for the <form> tag.
This parameter allows you to specify a name attribute for the <form> tag.
+### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
+
### `return=`
return="site/index"
@@ -65,7 +72,11 @@ This parameter allows you to define where the user will be returned after succes
1. Use the standard Template_Group/Template syntax to specify where to return the user. For instance, if you want the user to be returned to the "local" Template in the "news" Template Group, you would use: return="news/local"
2. Use a full URL. For example: return=""
+### `return_error=`
+
+ return_error="template_group/error"
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
## Form Inputs
diff --git a/docs/member/memberlist.md b/docs/member/memberlist.md
index f8606a0e6..5d73aa98a 100644
--- a/docs/member/memberlist.md
+++ b/docs/member/memberlist.md
@@ -21,13 +21,42 @@ Outputs a searchable list of members, including form filters to sort and limit t
{{embed:_tips/form-attributes.md}}
-### `role_id=`
+### `backspace=`
- role_id="5"
+ backspace="3"
-Restrict the output to members that belong to certain [role](control-panel/member-manager.md#member-roles).
+The `backspace=` parameter will remove the specified number of characters, including spaces and line breaks, from the last iteration of the tag pair.
+
+### `error_handling="inline"`
+ error_handling="inline"
+
+This parameter allows you to use inline errors in your registration form. The errors can be displayed using the `{error:field_name}` tag where `field_name` would need to be replaced with the name of the field that has an error, as used to compose the form.
+
+### `form_class=`
+
+ form_class="login"
+
+This parameter allows you to specify the class attribute for the search <form> tag.
+
+### `form_id=`
+
+ form_id="login"
+
+This parameter allows you to specify the id attribute for the search <form> tag.
+
+### `form_name=`
+
+ form_name="login"
+
+This parameter allows you to specify a name attribute for the search <form> tag.
+
+### `limit=`
+
+ limit="30"
+
+Allows you to limit the number of members displayed.
+When not set, defaults to [Member List - Rows](control-panel/settings/members.md#total-results) setting or [`memberlist_row_limit` configuration override](general/system-configuration-overrides.md#memberlist_row_limit)
-NOTE: This parameter replaces `group_id` which is functionally identical and currently still supported.
### `orderby=`
@@ -49,6 +78,15 @@ The "orderby" parameter sets the display order of members. The possible options
When not set, defaults to [Member List - Order](control-panel/settings/members.md#order-by)
setting or [`memberlist_order_by` configuration override](general/system-configuration-overrides.md#memberlist_order_by)
+### `role_id=`
+
+ role_id="5"
+
+Restrict the output to members that belong to certain [role](control-panel/member-manager.md#member-roles).
+
+NOTE: This parameter replaces `group_id` which is functionally identical and currently still supported.
+
+
### `sort=`
sort="asc"
@@ -57,41 +95,16 @@ setting or [`memberlist_order_by` configuration override](general/system-configu
Set the order in which members are displayed.
When not set, defaults to [Member List - Sort By](control-panel/settings/members.md#sort-by) setting or [`memberlist_sort_order` configuration override](general/system-configuration-overrides.md#memberlist_sort_order)
-### `limit=`
-
- limit="30"
-
-Allows you to limit the number of members displayed.
-When not set, defaults to [Member List - Rows](control-panel/settings/members.md#total-results) setting or [`memberlist_row_limit` configuration override](general/system-configuration-overrides.md#memberlist_row_limit)
-
### `return=`
return="member/memberlist"
+
+### `return_error=`
-### `form_class=`
-
- form_class="login"
-
-This parameter allows you to specify the class attribute for the search <form> tag.
-
-### `form_id=`
-
- form_id="login"
-
-This parameter allows you to specify the id attribute for the search <form> tag.
-
-### `form_name=`
-
- form_name="login"
-
-This parameter allows you to specify a name attribute for the search <form> tag.
-
-### `backspace=`
-
- backspace="3"
-
-The `backspace=` parameter will remove the specified number of characters, including spaces and line breaks, from the last iteration of the tag pair.
+ return_error="template_group/error"
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
## Form Variables
### `{form_declaration}`
diff --git a/docs/member/registration.md b/docs/member/registration.md
index 780667659..7a01d8f43 100644
--- a/docs/member/registration.md
+++ b/docs/member/registration.md
@@ -23,39 +23,29 @@ NOTE: **Important:** In order for site visitors to be allowed to register for ac
{{embed:_tips/form-attributes.md}}
-### `return=`
-
- return="member/registration/success"
-
-### `form_class=`
-
- form_class="register"
+### `datepicker=`
- ### `primary_role=`
+ datepicker="no"
- primary_role="7"
+Adds the datepicker to your date fields. Defaults to "yes".
-This parameter allows you to specify the primary role to assign the new member, overriding the default member setting.
+NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`.
### `error_handling="inline"`
error_handling="inline"
This parameter allows you to use inline errors in your registration form. The errors can be displayed using the `{error:field_name}` tag where `field_name` would need to be replaced with the name of the field that has an error, as used to compose the form.
+### `form_class=`
+
+ form_class="register"
+
### `include_assets=`
include_assets="yes"
Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are **not** included
-### `datepicker=`
-
- datepicker="no"
-
-Adds the datepicker to your date fields. Defaults to "yes".
-
-NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`.
-
### `include_css=`
include_css="no"
@@ -70,6 +60,22 @@ Includes jQuery automatically. Defaults to "yes".
NOTE: **Note:** If you are using your own copy of jQuery you will need to load it **before** the form.
+### `primary_role=`
+
+ primary_role="7"
+
+This parameter allows you to specify the primary role to assign the new member, overriding the default member setting.
+
+### `return=`
+
+ return="member/registration/success"
+
+### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
## Form Inputs
NOTE: Be sure to include the required JavaScript and CSS to use the native [Password Validation](member/password-validation.md).
diff --git a/docs/member/reset-password.md b/docs/member/reset-password.md
index 68d3d0028..6eb3c3745 100644
--- a/docs/member/reset-password.md
+++ b/docs/member/reset-password.md
@@ -32,6 +32,12 @@ Output a reset password form that allows members accessing it via a link from a
## Parameters
+### `inline_errors=`
+
+ inline_errors="yes"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the type of error reporting: inline or error template.
+
### `return=`
return="member/login/success"
@@ -41,6 +47,12 @@ This parameter allows you to define where the user will be returned after succes
1. Use the standard Template_Group/Template syntax to specify where to return the user. For instance, if you want the user to be returned to the "local" Template in the "news" Template Group, you would use: return="news/local"
2. Use a full URL. For example: return=""
+### `return_error=`
+
+ return_error="template_group/error"
+
+This parameter is for use with [form validation and error handling](/templates/form-validation.md) and determines the template to return to if validation errors are detected.
+
## Form Inputs
NOTE: Be sure to include the required Javascript and CSS to use the native [Password Validation](member/password-validation.md).