2013-09-26 2 views
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"> 
} 
} 

답변

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는 Json 'null'에 자동으로 'None'을 마샬링 할 수 없습니까? – 4lex1v

+0

@AlexIv하지만 println (op)을 사용할 때 Some ("String")이 인쇄됩니다. 그러나 간단한 "String"이 어떻게 인쇄 되길 원합니까? –