Forms 如何比较Play Framework 2表单中的枚举?

Forms 如何比较Play Framework 2表单中的枚举?,forms,scala,enums,playframework,playframework-2.0,Forms,Scala,Enums,Playframework,Playframework 2.0,如何将Play Framework 2表单中的枚举与枚举值进行比较?即使它们相等,此语句也会失败 @if(myForm("sectionType").value == SectionType.MAIN_CONTACT_INFO) { } 您已经说过myForm(“sectionType”).value是一个选项[String],因此您不能直接使用toString,因为Some(“hello”).toString返回“Some(hello)” 我建议尝试使用以下语法: myForm(“secti

如何将Play Framework 2表单中的枚举与枚举值进行比较?即使它们相等,此语句也会失败

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

您已经说过
myForm(“sectionType”).value
是一个
选项[String]
,因此您不能直接使用
toString
,因为
Some(“hello”).toString
返回“Some(hello)”

我建议尝试使用以下语法:

myForm(“sectionType”).value.get==sectionType.MAIN\u CONTACT\u INFO.toString
//或.getOrElse(“”)以避免错误

如果必要的话,不要忘记导入
SectionType
(即,如果这个类不在模型包中)

什么类型的
myForm(“SectionType”).value
myForm(“SectionType”)
是type
play.api.data.Field
。它说
myForm(“sectionType”)。值是type
Option[String]`。我还尝试了@if(myForm(“sectionType”)。value.toString==sectionType.MAIN\u CONTACT\u INFO.toString)。尽管两个toString方法都返回“MAIN\u CONTACT\u INFO”,但该语法仍然有效。出于某种原因,不需要进口。