2 alanlı bir formum var - empno
ve name
. Her ikisi de varsayılan değerle doldurulur. Görüntülendiğinde, empno
'un salt okunur olmasını ve name
'un düzenlenebilir olmasını istiyorum.Salt okunur alan nasıl oluşturulur? Görünüm
Görünüm oluşturma sırasında, yalnızca hazır ve iyi çalışmak için @leaveform.value.get.empno
kullanıyorum. Sorun, yalnızca ([NoSuchElementException: None.get])
numaralı hataya sahip ekleme sırasında ortaya çıkar.
Sorular:
- sorun değer özelliği yok dönüş hatadır. Değeri almak için başka ne kullanabilirim?
- Salt okunur alan için
@inputText
'u atlayabilir miyim?
benim kodunun altına bakınız:
// ***** CONTROLLER *****//
val leaveform = Form[LeaveModel](
mapping(
"empno" -> nonEmptyText,
"name" -> nonEmptyText
)((no, empno) => LeaveModel(empno, name))
((leave: LeaveModel) => Some(leave.empno, leave.name))
)
def create = withAuth { username => implicit request =>
// Define default values
val empno = "STUDENT"
val name = ""
// Set default values
val filledForm = leaveform.fill(LeaveModel(empno,name))
Ok(html.leave.form(filledForm))
}
def insert = Action (
implicit request => {
leaveform.bindFromRequest.fold(
error => {
BadRequest(html.leave.form(error)) // Question 1. Here is the error.
},
leave => {
LeaveModel.insert(leave)
Redirect(routes.indexController.index())
}
)
}
)
// ***** VIEW START***** //
@(leaveform: Form[LeaveModel])
@leaveform.value.get.empno
@helper.form(
action = (routes.LeaveController.update(oid)),
'id -> "leaveform") {
@inputText(leaveform("empno")) // Question 2.
@inputText(leaveform("name"))
}
Ben scala 2.0.3 ve th kullanıyorum ere alan yöntemi değildir. Benim kodum -> 'leaveform.field ("status"). Value' ve return error 'değer alanı play.api.data.Form [models.LeaveModel]' üyesi değil. –
hmm .. java kullanıyorum, ancak dokümanlar diyor ki: @ elements.field kullanarak orijinal alana da erişebilirsiniz: http://www.playframework.org/documentation/2.0/ScalaFormHelpers. – adis
@SimonSiah '@leaveform ("status")' ı kullanmayı deneyin. 'Yerine' çalışması gereken Scala Formları ile deneyimim yok. – biesior