2013-01-19 2 views
2

Comment comparer une énumération dans un formulaire Play Framework 2 à une valeur enum? Cette déclaration échoue même quand ils sont égaux.Comment comparer des enums dans un formulaire Play Framework 2?

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

Quel type de 'myForm ("sectionType"). value'? – pepyakin

+0

'myForm (" sectionType ")' est de type 'play.api.data.Field'. Il dit 'myForm (" sectionType "). Value est de type' Option [String] '. – Brian

+0

J'ai également essayé @if (myForm ("sectionType"). Value.toString == SectionType.MAIN_CONTACT_INFO.toString). Cela échoue, même si les méthodes toString retournent "MAIN_CONTACT_INFO". – Brian

Répondre

3

Vous avez dit que myForm("sectionType").value est un Option[String], de sorte que vous ne pouvez pas utiliser directement toString, parce Some("hello").toString retour « Certains (bonjour) ».

Je vous conseille d'essayer avec cette syntaxe:

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

Et ne pas oublier d'importer SectionType si nécessaire (si cette classe est pas dans le paquet de modèles.)

+0

Cette syntaxe fonctionne. L'importation n'était pas nécessaire pour une raison quelconque. – Brian

Questions connexes