ISSUE-715: Validate pipeline name length in UI (max 124 characters)#763
Open
cordeirops wants to merge 1 commit intokubeflow:mainfrom
Open
ISSUE-715: Validate pipeline name length in UI (max 124 characters)#763cordeirops wants to merge 1 commit intokubeflow:mainfrom
cordeirops wants to merge 1 commit intokubeflow:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
ada333
reviewed
Apr 16, 2026
Collaborator
ada333
left a comment
There was a problem hiding this comment.
I tried it out and works good, thanks!
I have only one suggestion otherwise LGTM
| const pipelineNameValid = | ||
| /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/.test( | ||
| this.state.metadata.pipeline_name, | ||
| ) && this.state.metadata.pipeline_name.length <= 124; |
Collaborator
There was a problem hiding this comment.
I would make the 124 as a constant
Contributor
Author
There was a problem hiding this comment.
Can you take another look at this? I just implemented it in the last commit
jesuino
approved these changes
Apr 16, 2026
Pipeline names longer than 124 characters cause a runtime error when
submitting to KFP. Previously there was no UI-level length check, so
users only discovered the limit after a failed pipeline run.
Changes:
- Input component: add optional `maxLength` and `maxLengthErrorMsg` props.
When `value.length > maxLength` the field enters error state, renders
the label, input text, and helper text in red, and shows the error
message. Priority is given to the length error over regex errors so the
most actionable message is always surfaced first.
- LeftPanel: pass `maxLength={124}` and a human-readable error message to
the Pipeline Name field. Also extend `pipelineNameValid` to include the
length check so the compile/run button is disabled for over-limit values
(covers names pre-populated from existing notebook metadata).
The soft-validation approach (show error, do not hard-block input) is
intentional: it is consistent with how the existing regex validation
works and gives the user feedback while allowing paste-then-edit workflows.
Closes kubeflow#715
Signed-off-by: Pedro Sbaraini Cordeiro <pedro.sbarainicordeiro@gmail.com>
Contributor
Author
ada333
approved these changes
Apr 17, 2026
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.
Summary
Fixes #715.
Pipeline names longer than 124 characters cause a runtime error in KFP. Previously there was no UI-level validation, so users only discovered the limit after a failed pipeline run with a cryptic error.
Changes
labextension/src/components/Input.tsxmaxLength?: numberandmaxLengthErrorMsg?: stringprops toIInputPropsvalue.length > maxLength, the field enters error state: label, input text, and helper text all render in redgetErrorMessage()surfaces the length error with priority over regex errors, since it is the more actionable fixlabextension/src/widgets/LeftPanel.tsxmaxLength={124}andmaxLengthErrorMsgto the Pipeline Name fieldpipelineNameValidto includelength <= 124so the compile/run button is disabled for over-limit values — this also covers names pre-populated from existing notebook metadata that were saved before this validation existedBehaviour
Test plan
pipeline_namelonger than 124 characters — error shown on load