2013-09-26 60 views
0

我的表單中有一些值是可選的字段。現在,如果將值插入這些字段,則返回Some(* the_input_value *)如果未插入,則返回None。如果未插入,我希望獲得值null,如果插入值,則插入值。怎麼了?救命啊! 這裏是我的課:得到scala的值一些(文本)

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"> 
} 
} 

回答

2

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

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

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

但我強烈建議不要使用null。更好op.getOrElse("")

+0

1:'op.orNull'。 2:問題是關於JSON映射。 – senia

+0

@senia不能自動播放元帥'None'到Json'null'中? – 4lex1v

+0

@AlexIv但是當我使用println(op)然後一些(「字符串」)被打印但我想要簡單的「字符串」打印如何? –

相關問題