gpt4 book ai didi

java - Play Framework 2.1 : Validation Form (error messages)

转载 作者:行者123 更新时间:2023-11-29 05:41:52 25 4
gpt4 key购买 nike

我正在 PlayFramework 2.1 中开发一个应用程序。但是,我没有使用表单助手,例如:@inputText,我正在编写自己的 HTML。

如何在不使用 Form Helper 的情况下显示错误消息?因为,如果我使用表单助手,则会显示错误消息。

最佳答案

在官方文档中有一个关于如何在没有默认助手的情况下编写您自己的输入(例如)的简要说明,请查看“编写您自己的字段构造函数”部分 here

我在这篇文章中添加了一个关于如何编写您自己的模板的示例,以澄清一点,以回应您的第二条评论。这个例子对官方文档中的解释做了一些补充。 This post与这个问题有关,也很有帮助。

首先,您必须创建一个模板,为此,转到/app/views/afolderyoulike 并创建 myField.scala.html(例如)。添加此示例代码,您可以根据需要对其进行调整:

@(elements: helper.FieldElements)

<div class="@if(elements.hasErrors) {error}">
<label for="@elements.id">@elements.label</label>
<div class="input">
@elements.input
<span class="errors">@elements.errors.mkString(", ")</span>
</div>
</div>

然后,您拥有表单的 View 看起来像这样的代码:

@(title: String, formSignup: Form[models.commerce.CommerceSignupRequest])

@import play.data.Form
@import helper._

@implicitField = @{ FieldConstructor(myField.f) }

@main(title) {
<div class="container">
@form(action = routes.CommerceController.signup()) {
<fieldset>
<legend>@title</legend>
@inputText(formSignup("commerceName"))
@inputText(formSignup("blabla1"))
@inputText(formSignup("blabla2"))
</fieldset>
<button type="submit" id="submit-btn" name="submit" class="btn">Send</button>
}
</div>
}

这里重要的代码是:

  • @import helper._ 带来默认的@inputText。
  • @implicitField = @{ FieldConstructor(myField.f) } 导入您的模板
  • @inputText(formSignup("commerceName")) 呈现您的自定义模板以替换那些我们不想使用的默认输入文本。

希望对您有所帮助。

关于java - Play Framework 2.1 : Validation Form (error messages),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com