【问题标题】:Custom play scala form not displaying validation error自定义播放 scala 表单不显示验证错误
【发布时间】:2012-10-24 00:11:03
【问题描述】:

这是模板文件的sn-p:

 @helper.form(routes.Signup.signupCont) {
           @helper.inputText(signupForm("teamname"))
                  <div class="row">
                      <div class="span2"><label class="label_form_email_signup">Team name</label></div>
                      <div class="span4"><input id="Signup_teamname" type="text" class="span4 input" maxlength="24" name="teamname"></div>
                  </div>
}

表单定义:

def signupForm = Form(
    mapping(
      "teamname" -> text(minLength = 4, maxLength = 30).verifying(
        "Name already in use.", teamname => Team.findByNameStrict(teamname).isEmpty),
      "email" -> email.verifying(
        "Email already in use.", email => Team.findByEmail(email).isEmpty).verifying(
        "University email required", email => email.matches(""".*\.ac\.uk""")),
      "password" -> tuple(
        "main" -> text(minLength = 6),
        "confirm" -> text).verifying(
          "Passwords do not match.", password => password._1 == password._2))((teamname, email, password) =>
        (teamname, email, password._1))(data => Some(data._1, data._2, ("",""))))

当使用错误的电子邮件并提交表单时,例如,页面重新加载,但表单字段为空(因此解构器失败)并且电子邮件框旁边没有错误消息。如何实现这种行为?

【问题讨论】:

    标签: forms scala playframework playframework-2.0


    【解决方案1】:

    确保在将表单返回给视图时将其传递给您的视图。例如:

    signUpForm.bindFromRequest.fold (
      errors => {
        /// assuming the page is signUp
        BadRequest(views.html.signUp(errors))
      },
      info => {
        // all ok, process the form 
      }
     )
    

    【讨论】:

    • 这对我有帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 2021-07-20
    • 2019-07-01
    • 2014-04-24
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多