使用 Bootstrap 4 在 PlayFramework 2.6 中强制执行电子邮件字段的前端验证

Enforce front-end validation of email field in PlayFramework 2.6 with Bootstrap 4

所以我将我的简单形式定义为:

val loginForm = Form(
  mapping(
    "email" -> email,
    "password" -> nonEmptyText(minLength = 8, maxLength = 24)
  )(UserLogin.apply)(UserLogin.unapply)
)

我的看法:

@b4.inline.form(routes.UserController.loginPage()) { implicit ifc =>
  @b4.email( form("email"), '_hiddenLabel -> "Email", 'placeholder -> "your email address")
  @b4.password( form("password"), '_hiddenLabel -> "Password", 'placeholder -> "your password")
  @b4.submit('class -> "btn btn-light btn-outline-dark"){ Login }
}

显然我的密码字段在前端验证,但不是电子邮件。 是否有一种规范的方式来强制在前端验证期间需要电子邮件?

它在前端进行验证,但前提是它不为空。

您需要将字段明确标记为 "required":

@b4.email( form("email"), '_hiddenLabel -> "Email", 'placeholder -> "your email address", 'required -> true)