Hello World
我们从之前创建的myapp 项目开始,编辑 app/views/App/Index.html模板, 添加下面的表单:
刷新页面,看看我们的改动变化没。
让我们尝试提交该表单看看变化。
提示出错了,没有找到控制器方法Hello. 让我们为App控制器添加Hello方法 app/controllers/app.go:
return c.Render(myName)
}
下一步, 我们创建一个视图(模板文件). 创建一个 app/views/App/Hello.html文件, 内容如下:
刷新页面,你会看到一个问候:
我们需要使用 . 编辑 App 控制器的 Hello 方法 app/controllers/app.go:
func (c App) Hello(myName string) revel.Result {
c.Validation.Required(myName).Message("Your name is required!")
c.Validation.MinSize(myName, 3).Message("Your name is not long enough!")
c.Validation.Keep()
c.FlashParams()
return c.Redirect(App.Index)
}
现在可以保存用户名并返回到 Index
页面了,如果没有输入有效的名称,那么名字和验证错误都保存在 Flash, 这是一个临时的cookie。flash.html
模板会显示错误或提示信息。
当验证未通过时,我们希望用户可以重新提交之前对其进行编辑。修改您模板app/views/App/Index.html template:
<form action="/App/Hello" method="GET">
<input type="text" name="" value=""/><br/>
现在,当我们提交一个字母作为我们的名字:
成功,我们得到了一个错误提示。输入的内容被带回编辑。