Ich versuche eine Idee zu bekommen, wie kann ich zwingen, Scala Framework Form Mapper Null Werte in Array-Eigenschaft zu speichern.Nullwerte im Array von Play-Framework-Form-Mapping erhalten
Beispiel. Anfrage Körper (druckt unten aus Snippet):
AnyContentAsJson({
"entities":["ENI","GDF Suez","Procter & Gamble"],
"entityValues":[null,"42",null]
})
resultierenden Wert von entityValues
Eigenschaft nach der Bindung:
List(Some(42.0))
Aber ich will sehen:
List(None, Some(42.0), None)
-Code-Snippet-Controller:
def actionX = Action {implicit request =>
println(request.body)
TaskForm.form.bindFromRequest.fold(
formWithErrors => {
BadRequest("error")
},
taskData => {
println(taskData.entityValues)
}
)
}
Form-Klasse mit Mapping:
case class TaskForm(entities: List[String],
entityValues: List[Option[Double]]) { }
object TaskForm {
val map = mapping(
"entities" -> list(text),
"entityValues" -> list(optional(of(doubleFormat)))
)(TaskForm.apply)(TaskForm.unapply)
val form = Form(
map
)
}
Ich habe auch versucht, einige Kombinationen von optional
und default
Mapping-Parameter, sondern ein Ergebnis ist immer noch das gleiche.
Mit 0
oder einem anderen numerischen Wert anstelle von null
ist kein Fall.
Hat jemand irgendwelche Ideen, wie man solches Formularverhalten implementiert?
Vielen Dank im Voraus für Ihre Zeit und Aufmerksamkeit.
Vielen Dank für eine klare Antwort. Es löst mein Problem. – serkas