加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

文本域与斯卡拉玩形式帮手

发布时间:2020-12-16 08:48:25 所属栏目:安全 来源:网络整理
导读:Scala表单助手并不像我预期的那样一致 @form(action = routes.Admin.insertNewArticle,'class - "form-horizontal") { fieldset @textarea(field = articleForm("text"),args = 'rows - 3,'cols - 50) @input(articleForm("author"),"author") /fieldset }
Scala表单助手并不像我预期的那样一致

@form(action = routes.Admin.insertNewArticle,'class -> "form-horizontal") {
  <fieldset>
    @textarea(field = articleForm("text"),args = 'rows -> 3,'cols -> 50)
    @input(articleForm("author"),"author")
  </fieldset> 
}

输入字段看起来非常好,左侧有标签,右侧有字段.但是textarea很奇怪,它没有包含在< div>中.带有标签,但它在< dl>中标签和底部有一个“必需”标志,我不知道如何删除.

以下是它的外观图像:

关于如何让表格看起来一致的任何提示?

谢谢.

解决方法

你有几个选择.

首先,您可以覆盖帮助程序,只需为textarea控件添加自己的手动HTML.这在“Using the form template helpers”下的文档“自己处理HTML输入创建”一节中描述,常见的陷阱在here中描述.如果你想要一个包含标签的div,你可以这样做:

@helper.input(field = articleForm("text")) { (id,name,value,args) =>
    <div>
        <label>text</label>
        <textarea name="@name" id="@id" rows='3' cols='50'>@value</textarea>
    </div>
}

您还可以使用CSS来设置textarea助手生成的默认HTML的样式. < dl>标签只是一个definition list,可以像任何HTML列表样式.作为参考,您可以在github中找到默认的字段构造函数代码,它会显示生成的html的外观.

我假设你所说的“必需”标志是错误< dd>您可以在生成的HTML中看到标记.如果你没有使用手动滚动的HTML路由,那么要摆脱它,你需要定义自己的字段构造函数.我在上面链接的Play帮助页面中也对此进行了描述.但是,如果你关心的只是摆脱错误,它应该很容易,只需复制默认的字段构造函数代码(也在上面链接),并改变或只删除读取@if的元素(elements.hasErrors) ){error}和以@ elements.errors(elements.lang).map开头的三行. “必需”错误本身来自@ elements.infos ….

或者是不应该要求该字段的问题?这是表单定义的问题,而不是帮助程序.使表单中的“文本”字段可选,如“可选值”下的Scala Forms help page所示.例如,如果您的任务定义位于Application.scala中:

val taskForm = Form (
     "text" -> optional(text) // changed from 'nonEmptyText'
   )

这也将使“text”字段映射为Option [String]而不是普通的String.如果您的表单由案例类(或其他映射逻辑)支持,则您必须相应地更改它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读