में केवल पढ़ने के लिए फ़ील्ड कैसे बनाएं मेरे पास 2 फ़ील्ड - empno
और name
के साथ एक फॉर्म है। दोनों डिफ़ॉल्ट मान के साथ भरें। जब दृश्य में प्रदर्शित होता है, तो मुझे empno
केवल पढ़ने के लिए और name
संपादन योग्य है।देखें
निर्माण में, मैं केवल तैयार और काम ठीक करने के लिए @leaveform.value.get.empno
का उपयोग कर रहा हूं। समस्या केवल ([NoSuchElementException: None.get])
त्रुटि के साथ सम्मिलित होने के दौरान होती है।
सवाल:
- समस्या वापसी त्रुटि मान संपत्ति नहीं है। मूल्य प्राप्त करने के लिए मैं और क्या उपयोग कर सकता हूं?
- क्या मैं केवल पढ़ने के लिए
@inputText
छोड़ सकता हूं?
मेरे कोड के नीचे देखें:
// ***** 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"))
}
मैं स्केला 2.0.3 और वें उपयोग कर रहा हूँ अयस्क कोई फील्ड विधि नहीं है। मेरा कोड -> '@ leaveform.field ("स्थिति")। मान' और वापसी त्रुटि 'मान फ़ील्ड play.api.data.Form [model.LeaveModel]' का सदस्य नहीं है। –
हम्म .. मैं जावा का उपयोग कर रहा हूं, लेकिन दस्तावेज़ कहते हैं: आपके पास @ elements.field का उपयोग करके मूल फ़ील्ड तक पहुंच है: http://www.playframework.org/documentation/2.0/ScalaFormHelpers। – adis
@ सिमोनियाह '@ लेवफॉर्म ("स्थिति") का उपयोग करने का प्रयास करें। इसके बजाय मूल्य, मुझे स्कैला फॉर्म के साथ कोई अनुभव नहीं है, वैसे भी जो काम करना चाहिए। – biesior