0

我的表单中有一些字段的值是可选的。现在,如果在这些字段中插入了值,则返回 Some(*the_input_value*) 如果未插入,则返回 None。如果没有插入,我想获得 null 值,如果插入则获得插入值。怎么样?救命!这是我的课:

case class Registration(
fname:Option[String], 
lname:Option[String],user_email:String,
user_password:String,
gender:Option[String]
)

这是我的表单映射:

val registrationForm=Form(
mapping(
  "fname"->optional(text), 
  "lname"->optional(text),
  "user_email"->text, 
  "user_password"->text,
  "gender"->optional(text)
  )(Registration.apply)(Registration.unapply)

);

这是我的表格:

@(registrationForm:Form[Registration])

@helper.form(routes.Application.registration_process){      
    @helper.inputText(registrationForm("fname"),'_label->"First Name")
@helper.inputText(registrationForm("lname"),'_label->"Last Name")
@helper.inputText(registrationForm("user_email"),'_label->"Email")
@helper.inputPassword(registrationForm("user_password"),'_label->"Password")
@helper.inputPassword(registrationForm("re-password"))
@helper.inputText(registrationForm("gender"),'_label->"Gender")

<input type="submit" value="Register">
}
}
4

1 回答 1

2

最好和最短的方法是使用orNull

scala> val op = Option("String")
op: Option[String] = Some(String)

scala> val res = op.orNull
res: String = String

但我强烈建议不要使用null. 更好的op.getOrElse("")

于 2013-09-26T06:57:35.297 回答