 310376525b
			
		
	
	
	
	
	310376525b- Use the forked [binding](https://code.forgejo.org/go-chi/binding) library. This library has two benefits, it removes the usage of `github.com/goccy/go-json` (has no benefit as the minimo library is also using it). It adds the `TrimSpace` feature, which will during the binding part trim the spaces around the value it got from the form, this is done before validation.
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2014 The Gogs Authors. All rights reserved.
 | |
| // Copyright 2019 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package forms
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 
 | |
| 	"code.gitea.io/gitea/modules/structs"
 | |
| 	"code.gitea.io/gitea/modules/web/middleware"
 | |
| 	"code.gitea.io/gitea/services/context"
 | |
| 
 | |
| 	"code.forgejo.org/go-chi/binding"
 | |
| )
 | |
| 
 | |
| // ________                            .__                __  .__
 | |
| // \_____  \_______  _________    ____ |__|____________ _/  |_|__| ____   ____
 | |
| //  /   |   \_  __ \/ ___\__  \  /    \|  \___   /\__  \\   __\  |/  _ \ /    \
 | |
| // /    |    \  | \/ /_/  > __ \|   |  \  |/    /  / __ \|  | |  (  <_> )   |  \
 | |
| // \_______  /__|  \___  (____  /___|  /__/_____ \(____  /__| |__|\____/|___|  /
 | |
| //         \/     /_____/     \/     \/         \/     \/                    \/
 | |
| 
 | |
| // CreateOrgForm form for creating organization
 | |
| type CreateOrgForm struct {
 | |
| 	OrgName                   string `binding:"Required;Username;MaxSize(40)" locale:"org.org_name_holder"`
 | |
| 	Visibility                structs.VisibleType
 | |
| 	RepoAdminChangeTeamAccess bool
 | |
| }
 | |
| 
 | |
| // Validate validates the fields
 | |
| func (f *CreateOrgForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | |
| 	ctx := context.GetValidateContext(req)
 | |
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | |
| }
 | |
| 
 | |
| // UpdateOrgSettingForm form for updating organization settings
 | |
| type UpdateOrgSettingForm struct {
 | |
| 	Name                      string `binding:"Required;Username;MaxSize(40)" locale:"org.org_name_holder"`
 | |
| 	FullName                  string `binding:"MaxSize(100)"`
 | |
| 	Email                     string `binding:"MaxSize(255)"`
 | |
| 	Description               string `binding:"MaxSize(255)"`
 | |
| 	Website                   string `binding:"ValidUrl;MaxSize(255)"`
 | |
| 	Location                  string `binding:"MaxSize(50)"`
 | |
| 	Visibility                structs.VisibleType
 | |
| 	MaxRepoCreation           int
 | |
| 	RepoAdminChangeTeamAccess bool
 | |
| }
 | |
| 
 | |
| // Validate validates the fields
 | |
| func (f *UpdateOrgSettingForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | |
| 	ctx := context.GetValidateContext(req)
 | |
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | |
| }
 | |
| 
 | |
| // ___________
 | |
| // \__    ___/___ _____    _____
 | |
| //   |    |_/ __ \\__  \  /     \
 | |
| //   |    |\  ___/ / __ \|  Y Y  \
 | |
| //   |____| \___  >____  /__|_|  /
 | |
| //              \/     \/      \/
 | |
| 
 | |
| // CreateTeamForm form for creating team
 | |
| type CreateTeamForm struct {
 | |
| 	TeamName         string `binding:"Required;AlphaDashDot;MaxSize(255)"`
 | |
| 	Description      string `binding:"MaxSize(255)"`
 | |
| 	Permission       string
 | |
| 	RepoAccess       string
 | |
| 	CanCreateOrgRepo bool
 | |
| }
 | |
| 
 | |
| // Validate validates the fields
 | |
| func (f *CreateTeamForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | |
| 	ctx := context.GetValidateContext(req)
 | |
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | |
| }
 |