Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A lightweight go library for parsing form data or json from an http.Request.

License

NotificationsYou must be signed in to change notification settings

albrow/forms

Repository files navigation

GoDoc

Forms is a lightweight, but incredibly useful go library for parsingform data from an http.Request. It supports multipart forms, url-encodedforms, json data, and url query parameters. It also provides helper methodsfor converting data into other types and a Validator object which can beused to validate the data. Forms is framework-agnostic and works directlywith the http package.

Version 0.4.0

Development Status

Forms is no longer actively maintained, and therefore it is not recommended foruse in mission-critical production applications at this time. That said, it isfairly well tested and is probably fine to use for low-traffic hobbysites.

Forms follows semantic versioning but offers no guarantees of backwardscompatibility until version 1.0. Keep in mind that breaking changes might occur.We will do our best to make the community aware of any non-trivial breakingchanges beforehand. We recommend using a dependency vendoring tool such asgodep to ensure that breaking changes will notbreak your application.

Installation

Install like you would any other package:

go get github.com/albrow/forms

Then include the package in your import statements:

import"github.com/albrow/forms"

Example Usage

Meant to be used inside the body of an http.HandlerFunc or any function thathas access to an http.Request.

funcCreateUserHandler(res http.ResponseWriter,req*http.Request) {// Parse request data.userData,err:=forms.Parse(req)iferr!=nil {// Handle err// ...}// Validateval:=userData.Validator()val.Require("username")val.LengthRange("username",4,16)val.Require("email")val.MatchEmail("email")val.Require("password")val.MinLength("password",8)val.Require("confirmPassword")val.Equal("password","confirmPassword")val.RequireFile("profileImage")val.AcceptFileExts("profileImage","jpg","png","gif")ifval.HasErrors() {// Write the errors to the response// Maybe this means formatting the errors as json// or re-rendering the form with an error message// ...}// Use data to create a user objectuser:=&models.User {Username:userData.Get("username"),Email:userData.Get("email"),HashedPassword:hash(userData.Get("password")),}// Continue by saving the user to the database and writing// to the response// ...// Get the contents of the profileImage fileimageBytes,err:=userData.GetFileBytes("profileImage")iferr!=nil {// Handle err}// Now you can either copy the file over to your server using io.Copy,// upload the file to something like amazon S3, or do whatever you want// with it.}

Contributing

SeeCONTRIBUTING.md

License

Forms is licensed under the MIT License. See the LICENSE file for more information.

About

A lightweight go library for parsing form data or json from an http.Request.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp