美文网首页
《Beego博客案例》--- 表单数据验证

《Beego博客案例》--- 表单数据验证

作者: 会长__ | 来源:发表于2018-08-03 01:22 被阅读675次

1.简介

先说我是一个PHPSir,闲来无事想研究研究Beego这个框架,目的是想通过这样一个MVC框架来学习go的基本使用和练习一下go的基本语法和基本的业务处理逻辑,因为直接撸原生代码烦躁无味,我相信做出东西会对自己是一种激励并且基础语法也会有相应的提升,通过这样一个框架来造一个简单的博客,可能更新时间有些缓慢还望见谅。

安装就先不讲了,自行百度。

2.好的资源你懂得

image.png

1.基础知识
2.Beego文档
3.关键资源你懂得

3.一顿操作猛如虎

1.主要目录
image.png
2.路由
package routers

import (
    "blog/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/admin_login", &controllers.LoginController{})
}

3.
package controllers

import (
    "github.com/astaxie/beego"
    "blog/models/admin"
    "github.com/astaxie/beego/validation"
    "log"
)

// 接收参数构造体
type loginParams struct {
    adminName string
    adminPassword string
}

// 登录控制器
type LoginController struct {
    beego.Controller
    models.LoginModel
}

// 显示登录页面
func (this *LoginController) Get() {
    this.TplName = "login/login.html"
}

// 接收登录页面的信息
func (this *LoginController) Post(){
    params := loginParams{this.GetString("admin_name"), this.GetString("admin_password")}
    // 验证不通过重定向到登录页面
    if !checkParams(params) {
        //this.Ctx.WriteString("我执行了");
        this.TplName = "login/login.html"
    }
}

// 验证登录参数
func checkParams(params loginParams) bool {
    valid := validation.Validation{}
    valid.Required(params.adminName, "adminName")
    valid.Required(params.adminPassword, "adminPassword")
    valid.MaxSize(params.adminName, 1, "adminNameMax")
    valid.MaxSize(params.adminPassword, 15, "adminNamePassword")
    if valid.HasErrors() {
        // 如果有错误信息,证明验证没通过
        // 打印错误信息
        for _, err := range valid.Errors {
            log.Println(err.Key, err.Message)
        }
        return false;
    }
    return true;
}

我就不具体介绍了,下载下来代码,对比着目录然后查文档就可以了,我只提供我的学习思路

4.效果

运行Beego


image.png

访问


image.png

测试刚才我啥也没输入点了一下登录
限制代码

image.png
这里是命令行输出的日志信息
image.png

4.PHP前沿学习群: 257948349 go也收

相关文章

网友评论

      本文标题:《Beego博客案例》--- 表单数据验证

      本文链接:https://www.haomeiwen.com/subject/hxvevftx.html