2013-01-19 2 views
2

어떻게하면 Play Framework 2 양식의 열거 형을 열거 형 값과 비교할 수 있습니까? 이 명령문은 동등한 경우에도 실패합니다.Play Framework 2 양식에서 enum을 어떻게 비교합니까?

@if(myForm("sectionType").value == SectionType.MAIN_CONTACT_INFO) { 
} 
+0

myForm을'어떤 종류의 (필요한 경우 SectionType를 가져올 것을 잊지 마세요 "sectionType"). value'? – pepyakin

+0

'myForm ("sectionType")'은'play.api.data.Field' 유형입니다. 'myForm ("sectionType"). value는'Option [String]'유형입니다. – Brian

+0

또한 @if (myForm ("sectionType"). value.toString == SectionType.MAIN_CONTACT_INFO.toString)를 시도했습니다. 두 개의 toString 메서드가 모두 "MAIN_CONTACT_INFO"를 반환하더라도이 작업은 실패합니다. – Brian

답변

3

당신은 당신이 직접 toString을 사용할 수 있도록 myForm("sectionType").value는, Option[String]이라고 말한 때문에 Some("hello").toString 반환 "일부 (안녕하세요)".

나는이 구문을 시도하는 것이 좋습니다 :

myForm("sectionType").value.get == SectionType.MAIN_CONTACT_INFO.toString 
// or .getOrElse("") to avoid errors 

그리고 (즉,이 클래스가 모델 패키지에없는 경우.)

+0

구문이 작동합니다. 가져 오기가 어떤 이유로 든 필요하지 않았습니다. – Brian

관련 문제