Play Framework手动填充某些字段

问题描述 投票:1回答:1

我正在使用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)创建所有字段使我无法手动隐藏它们。

playframework slick
1个回答
0
投票

你问的三件事:

隐藏字段并使用从控制器传递的值。如果你想隐藏它一般,它与HTML有关,你可以在views文件中执行此操作:

<input type="hidden" id="hiddenField" value="@whateverThatPassedToViews"> 

然后从这一点开始,这就是所有“点符号”原则,就像你想隐藏学生名字和字段fullnameStudent案例类中,然后当你传递用户列表时,你使用@student.fullname作为值。

如何检查数据是否是有效的URL:有两种方法可以执行此操作:

  1. 提交表单时将其传递给控制器​​:基本上将其设为NonEmptyString并将其传递给控制器​​,并从那里检查URL的有效性。
  2. 使用Javascript:您可以使用Javascript来检查URL的有效性。

要检查URL的正确性,您可以查看此答案here

© www.soinside.com 2019 - 2024. All rights reserved.