表单数据验证

安装

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>
    密&nbsp;&nbsp;码:<input type="password" name="pwd" id="pwd"><br>
    <input type="submit" id="btn" value="提交">
</form>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。