安装
go get github.com/astaxie/beego/validation
测试是否安装成功
go test github.com/astaxie/beego/validation
如果输出如下则表示成功:
image.png
code
package controllers
import (
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/validation"
)
type ValidController struct {
beego.Controller
}
// 关闭ValidController的xsrf保护
func (this *ValidController) Prepare() {
this.EnableXSRF = false
}
func (this *ValidController)Get() {
this.TplName = "validate.html"
}
func (this *ValidController)Post() {
uname :=this.GetString("uname")
pwd :=this.GetString("pwd")
fmt.Println(uname)
fmt.Println(pwd)
valid :=validation.Validation{}
valid.Required(uname,"uname").Message("用户名不能为空")
valid.Required(pwd,"pwd").Message("密码不能为空")
// 打印错误
if valid.HasErrors() {
for _, err := range valid.Errors {
fmt.Println(err.Key)
fmt.Println(err.Message)
}
}
this.TplName = "validate.html"
ruter
beego.Router("/valid", &controllers.ValidController{})
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>validate</title>
</head>
<body>
<h1>这是validate页面</h1>
<form action="{{urlfor "ValidController.Post"}}" method="post" >
用户名:<input type="text" name="uname" id="uname"><br>
密 码:<input type="password" name="pwd" id="pwd"><br>
<input type="submit" id="btn" value="提交">
</form>
</body>
</html>