Tôi có biểu mẫu với 2 trường - empno
và name
. Cả hai đều lấp đầy với giá trị mặc định. Khi hiển thị trong chế độ xem, tôi muốn empno
là chỉ đọc và name
có thể chỉnh sửa được.Cách tạo trường chỉ đọc trong Chế độ xem
Tạo chế độ xem, tôi đang sử dụng @leaveform.value.get.empno
để hiển thị tiền phạt chỉ hoạt động và làm việc. Vấn đề chỉ xảy ra trong quá trình chèn với lỗi ([NoSuchElementException: None.get])
.
Câu hỏi:
- Vấn đề là lỗi trả lại không có tài sản giá trị. Tôi có thể sử dụng những gì khác để có được giá trị?
- Tôi có thể bỏ qua
@inputText
cho trường chỉ đọc không?
Tham khảo bên dưới mã của tôi:
// ***** 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"))
}
Tôi đang sử dụng scala 2.0.3 và th ere không có phương pháp trường. Mã của tôi -> trường hợp '@ leaveform.field ("trạng thái"). Giá trị' và lỗi trả về 'không phải là thành viên của play.api.data.Form [models.LeaveModel]'. –
hmm .. Tôi đang sử dụng java, nhưng các tài liệu nói: Bạn cũng có quyền truy cập vào trường gốc bằng cách sử dụng @ elements.field: http://www.playframework.org/documentation/2.0/ScalaFormHelpers. – adis
@SimonSiah cố gắng sử dụng '@ leaveform (" trạng thái ") .giá trị' thay vào đó, tôi không có kinh nghiệm với các hình thức Scala, dù sao mà nên làm việc. – biesior