Repository navigation
Conversation
Specify forms that collect user profile attributes in authentication flows: the fill_form step for custom flows, user_profile.forms for the default flows, field validation, the user.profile.pre_update hook reasons, and the Authflow API. Also add the boolean custom attribute type and string constraints to the user profile spec, and fix stale step names in related specs. ref DEV-3873
user.profile.pre_update fired on form submission, but a flow stores the filled attributes only when it finishes. Add a blocking event for form submission, fire user.pre_create or user.profile.pre_update when the flow finishes, and move per-field reasons to the new event.
Address design review comments on the profile filling spec: - Remove user_profile.forms. Forms are available only in flows defined in authentication_flow. - Remove the form key show. A form is shown every time the flow reaches it; showing a form only when an attribute is missing is future work. - Add form to the email, phone, and username branches of the identify step in signup and promote flows, to collect attributes on the same page as the login ID. - Nest the form name and fields under form in the authentication.form.post_submitted payload and in fill_form_data. ref DEV-3873
Also keep triggered_by admin_api for portal profile updates, and add
standard-attribute-label-{pointer} for standard attribute labels.
…before them ref DEV-3905
A config key that was never supported is not expected to exist, so rejecting it or giving it a meaning does not break a deployment. This removes the entry for the form and string-constraint keys. ref DEV-3905
Generated with make -C scripts/python generate-translations for the standard attribute labels, string constraint hints and errors, and boolean values.
Generated with make -C scripts/python generate-translations.
…ssing When a required field is missing and other fields are submitted, the validator reports the key and value of every submitted field instead of a single cause at /fields. The filled fields got "invalid value" and the missing one got nothing. Fold those causes into one cause at /fields, and flag an unchecked required checkbox for both cause shapes.
URLSearchParams.set keeps only the last value of a repeated name, so the hidden false after a checkbox replaced its true. Use append so the server receives both and reads the first.
- Start-align labels, hints and errors, which followed the project's content alignment, and add spacing around the fields on fill_form and signup. - Show text-like fields of the signup identify form as placeholders, like the login ID input. - Use the select input for fields with suggestions, such as gender, and show "Country" as the address country placeholder. - Show the error state on selects, dates, address inputs and checkboxes.
Move the missing required rule into isMissingRequired to satisfy gocognit.
Wrap the fields of a form in .form__container, a grid with the default single-column layout, and add .form__container--<name> for a named form. The modifier has no styles, so custom CSS can set the grid template and gaps.
tung2744
force-pushed
the
dev-3905-form-impl
branch
from
October 13, 2026 09:00
951e94d to
7324093
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ref DEV-3905
What you can test:
Also test it in signup login flow:
UI of different type of inputs:
The commit 951e94d added classnames to each form, this is for the form builder we are going to add in portal.