Scala play框架中的表单

Scala play框架中的表单,scala,playframework-2.0,Scala,Playframework 2.0,您好,我是scala play框架的初学者。我无法使用两个或多个输入创建表单。我在谷歌上搜索了一下,在scala编程语言中没有找到。请给我一个关于如何使用scala在表单中创建多个输入的想法。是我干的 val form = Form (tuple ( "firstname"-> text, "lastname" -> text ) ) and to get the values val(fname,lname) = form.bindFromRequest.get 我走对

您好,我是scala play框架的初学者。我无法使用两个或多个输入创建表单。我在谷歌上搜索了一下,在scala编程语言中没有找到。请给我一个关于如何使用scala在表单中创建多个输入的想法。是我干的

val form = Form (tuple
    (
"firstname"-> text,
"lastname" -> text
)
)  and to get the values val(fname,lname) = form.bindFromRequest.get
我走对了吗。请向我推荐任何学习scala play框架的想法或资源。提前感谢

这里是播放2.1.1的完整(但简单)表单示例。包括视图、控制器和路由文件。我怀疑你是和/或是一个。这两个都是可以理解的

控制器(Application.scala):

视图(index.scala.html):

注意:HTML视图中的名称属性必须与控制器表单中的字符串文本相匹配


希望对您有所帮助。

播放文档是了解表单的最佳方式 如果您想要更多,请看一看play示例表单项目

这个关于表单的activator示例项目解释了表单的所有内容

1) 它解释了播放控制器中的表单和数据绑定、验证

2) 它解释了表单中的
可选参数

3) 例如,它解释了具有嵌套对象的复杂表单

     case class Student(name: String, age: Int, gender: Optional[Char] = None, 
                                                address: Address, other: OtherStuff)
上面的case类取决于Address、OtherStuff和 请注意,性别是可选的。示例项目解释了如何处理这种复杂的对象依赖关系


请从这里下载激活器。然后,使用命令
activator UI
在浏览器UI模式下启动activator,并在搜索中键入play example form下载它。下载后,转到项目根文件夹,键入
activator eclipse
以防使用eclipse,或
activator gen idea
以防Intellij idea。

是否有方法验证此类表单(它是元组而不是case类),并在验证失败时将结构传递回模板?是的!在“定义约束”下对其进行了描述。例如:
“firstname”->nonEmptyText
。如何将其传递到模板中?每当我尝试模板时,都会抱怨表单必须具有泛型类型,但在为元组显示的示例中,id没有!?当我添加第三个inputbox时,它会说,[NoTouchElementException:None.get],您能帮我
val(fname,lname)=form.bindFromRequest.get
在类型匹配错误的情况下失败吗。是什么原因造成的
val name=form.bindFromRequest.get
正常工作您是否有机会导入scala.text?删除它并添加适当的导入,如下所示@Matt Robots的回答应该可以解决您的问题。
<!DOCTYPE html>
<html>
  <head>
    <title>Form example</title>
  </head>
  <body>
    <form method="post" autocomplete="on">
      First name:<input type="text" name="firstname"><br>
      Last name: <input type="text" name="lastname"><br>
      <input type="submit">
    </form>
  </body>
</html>
GET     /                           controllers.Application.index
POST    /                           controllers.Application.submit
     case class Student(name: String, age: Int, gender: Optional[Char] = None, 
                                                address: Address, other: OtherStuff)