Go Web开发之Revel - Hello World

下面结合之前创建的myapp做一个提交表单的demo

首先编辑app/views/Application/Index.html 模板文件添加一下form表单

<form action="/Application/Hello" method="GET">
    <input type="text" name="myName" />
    <input type="submit" value="Say hello!" />
</form>

刷新表单

我们提交一下表单

报错:没有找到匹配的action,下面我们来添加一个

func (c Application) Hello(myName string) rev.Result {
    return c.Render(myName)
}

接着我们创建视图,路径为:app/views/Application/Hello.html ,内容如下:

{{set . "title" "Home"}}
{{template "header.html" .}}

<h1>Hello {{.myName}}</h1>
<a href="/">Back to form</a>

{{template "footer.html" .}}

在文本框中填入内容然后提交表单

最后我们添加一些验证,把文本框中的内容要求为必填并且最少三个字符,我们来编辑你的action app/controllers/app.go 文件

func (c Application) Hello(myName string) rev.Result {
    c.Validation.Required(myName).Message("Your name is required!")
    c.Validation.MinSize(myName, 3).Message("Your name is not long enough!")

    if c.Validation.HasErrors() {
        c.Validation.Keep()
        c.FlashParams()
        return c.Redirect(Application.Index)
    }

    return c.Render(myName)
}

修改app/views/Application/Index.html模板文件

<h1>Aloha World</h1>

{{range .errors}}
    <p style="color:#c00">
        {{.Message}}
    </p>
{{end}}

<form action="/Application/Hello" method="GET">
    <input type="text" name="myName" value="{{.flash.myName}}" />
    <input type="submit" value="Say hello!" />
</form>

现在回到Index页面,如果填写内容不符合要求将提示错误信息如下所示:

至此结束。

转载于:https://www.cnblogs.com/ztiandan/archive/2012/12/28/2837302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值