我正在使用this来学习slick
的游戏框架。我在我的url
有这个controller
形式
val urlForm = Form(
mapping(
"id" -> ignored(Some(0): Option[Long]),
"link" -> nonEmptyText,
"shortLink" -> nonEmptyText)(Url.apply)(Url.unapply))
在view
方面,它呈现为
@form(routes.Application.save()) {
<fieldset>@formElements(urlForm)</fieldset>
<div class="actions">
<input type="submit" value="Create this url" class="btn btn-primary"> or
<a href="@routes.Application.list()" class="btn btn-default">Cancel</a>
</div>
}
我有两个问题:
1-如何从shortLink
字段中填写的数据填充link
并将其隐藏给用户。
2-如何验证link
字段中填写的数据是否为有效的URL
我尝试过的事情:
1-阅读this并尝试在我的项目中使用它,但无法应用它。
2-看到关于如何隐藏字段但没有在这个项目上工作的答案,因为视图只是从formElements(urlForm)
创建所有字段使我无法手动隐藏它们。
你问的三件事:
隐藏字段并使用从控制器传递的值。如果你想隐藏它一般,它与HTML有关,你可以在views
文件中执行此操作:
<input type="hidden" id="hiddenField" value="@whateverThatPassedToViews">
然后从这一点开始,这就是所有“点符号”原则,就像你想隐藏学生名字和字段fullname
在Student
案例类中,然后当你传递用户列表时,你使用@student.fullname
作为值。
如何检查数据是否是有效的URL:有两种方法可以执行此操作:
NonEmptyString
并将其传递给控制器,并从那里检查URL的有效性。要检查URL的正确性,您可以查看此答案here。