Add validation constraints for repository creation fields#36671
Add validation constraints for repository creation fields#36671lunny merged 10 commits intogo-gitea:mainfrom
Conversation
|
Other fields like |
Only the |
These restrictions have been added to enforce stricter validation and prevent potential issues or unnecessary problems. |
There was a problem hiding this comment.
Pull request overview
This pull request adds input validation constraints to repository creation form fields and API options, limiting the size of various string fields to prevent potential issues with excessively long input values.
Changes:
- Added MaxSize validation to License (100), Gitignores (255), IssueLabels (255), Readme (255), and ForkSingleBranch (255) fields
- Added enum validation with In() to ObjectFormatName (sha1, sha256) and TrustModel (default, collaborator, committer, collaboratorcommitter) fields
- Applied validation consistently to both web form structs (CreateRepoForm) and API structs (CreateRepoOption)
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| services/forms/repo_form.go | Added MaxSize and In() validation tags to CreateRepoForm fields for web form validation |
| modules/structs/repo.go | Added MaxSize and In() validation tags to CreateRepoOption fields for API validation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Update PR title please to reflect that it's not only license. |
|
Maybe add some tests to validate the new limits? Tests could be AI-generated. |
|
Unnecessary tests only slow down the tests. Incorrect tests slow down more. |
The tests of binding have been added in binding repository. It seems we don't need to have. |
…6671) Adds validation constraints to repository creation inputs, enforcing max-length limits for labels/license/readme and enum validation for trust model and object format. Updates both the API option struct and the web form struct to keep validation consistent.
…36757) Backport #36671 by @lunny Adds validation constraints to repository creation inputs, enforcing max-length limits for labels/license/readme and enum validation for trust model and object format. Updates both the API option struct and the web form struct to keep validation consistent. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* giteaofficial/main: Fix release draft access check logic (go-gitea#36720) Change image transparency grid to CSS (go-gitea#36711) Avoid opening new tab when downloading actions logs (go-gitea#36740) Add validation constraints for repository creation fields (go-gitea#36671) Fix SVG height calculation in diff viewer (go-gitea#36748)
* main: (24 commits) Instance-wide (global) info banner and maintenance mode (go-gitea#36571) Add created_by filter to SearchIssues (go-gitea#36670) Inline and lazy-load EasyMDE CSS, fix border colors (go-gitea#36714) Fix release draft access check logic (go-gitea#36720) Change image transparency grid to CSS (go-gitea#36711) Avoid opening new tab when downloading actions logs (go-gitea#36740) Add validation constraints for repository creation fields (go-gitea#36671) Fix SVG height calculation in diff viewer (go-gitea#36748) Fix path resolving (go-gitea#36734) [skip ci] Updated translations via Crowdin Fix track time list permission check (go-gitea#36662) Fix incorrect setting loading order (go-gitea#36735) Use case-insensitive matching for Git error "Not a valid object name" (go-gitea#36728) feat: Add workflow dependencies visualization (go-gitea#36248) Add keyboard shortcuts for repository file and code search (go-gitea#36416) Refactor text utility classes to Tailwind CSS (go-gitea#36703) Prevent redirect bypasses via backslash-encoded paths (go-gitea#36660) Fix force push time-line commit comments of pull request (go-gitea#36653) Fix get release draft permission check (go-gitea#36659) Move `X_FRAME_OPTIONS` setting from `cors` to `security` section (go-gitea#30256) ... # Conflicts: # web_src/css/base.css # web_src/css/index.css
Adds validation constraints to repository creation inputs, enforcing max-length limits for labels/license/readme and enum validation for trust model and object format. Updates both the API option struct and the web form struct to keep validation consistent.