Forms 如何比较Play Framework 2表单中的枚举?
如何将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
@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”)
是typeplay.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”,但该语法仍然有效。出于某种原因,不需要进口。