अब मुझे पता है कि मेरे पास साफ कोड नहीं है लेकिन मैं सिर्फ काम करने के लिए काम करना चाहता हूं। यह मुझे "अनधिकृत" देता है। आपको इस पृष्ठ तक पहुंचने के लिए प्रमाणित होना चाहिए "त्रुटि।अनधिकृत: आपको इस पृष्ठ तक पहुंचने के लिए प्रमाणित होना चाहिए। - खेल फॉर्म पास करते समय
मैं निम्नलिखित नियंत्रक है
package controllers
import javax.inject._
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import models.UserData
import models.Contact
import play.api.i18n._
/**
* This controller creates an `Action` to handle HTTP requests to the
* application's home page.
*/
@Singleton
class HomeController @Inject()(val messagesApi: MessagesApi)extends Controller with I18nSupport {
/**
* Create an Action to render an HTML page.
*
* The configuration in the `routes` file means that this method
* will be called when the application receives a `GET` request with
* a path of `/`.
*/
def index = Action { implicit request =>
Ok("Got request [" + request + "]")
}
val userForm = Form(mapping("name"->nonEmptyText, "age"->number(min=0, max=100))(UserData.apply)(UserData.unapply))
def userPost = Action {
implicit request =>
userForm.bindFromRequest.fold(
formWithErrors => {
BadRequest(views.html.user(formWithErrors))
},
userData => {
val newUser = models.UserData(userData.name, userData.age)
Redirect(routes.HomeController.home())
})
}
def home = Action { implicit request =>
Ok(views.html.index())
}
def user = Action {implicit request =>
Ok(views.html.user(userForm))
}
}
निम्नलिखित user.scala.html फ़ाइल
@(userForm: Form[UserData])(implicit messages: Messages)
@helper.form(action = routes.HomeController.userPost()) {
@helper.inputText(userForm("name"), 'id -> "name", 'size -> 30)
@helper.inputText(userForm("age"))
<input type="submit" value="submit"</input>
}
और निम्नलिखित मार्गों फ़ाइल:
# Routes
# This file defines all application routes (Higher priority routes first)
# https://www.playframework.com/documentation/latest/ScalaRouting
# ~~~~
# An example controller showing a sample home page
GET / controllers.HomeController.index
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
GET /home controllers.HomeController.home
GET /user controllers.HomeController.user
POST /user controllers.HomeController.userPost
किसी की मदद कृपया मुझे मिल अनधिकृत पृष्ठ त्रुटि पिछले। मुझे नहीं पता कि यह क्यों आ रहा है। मैं बस एक साधारण रूप से गुजरना चाहता हूं।
धन्यवाद।
आपको धीरे-धीरे एक वैश्विक [CSRF फिल्टर] जोड़ दिया (https://www.playframework.com/documentation/2.5.x/ScalaCsrf)? यदि ऐसा है तो आपको अपने फॉर्म में सीएसआरएफ टोकन भी जोड़ना होगा: '@import helper._ @form (सीएसआरएफ (मार्ग। होमकंट्रोलर.यूसरपोस्ट())) {' –
आपकी टिप्पणी में मदद मिली। मैंने जो कहा आपने उसे ठीक करने में कामयाब रहे। आपकी मदद के लिए बहुत बहुत धन्यवाद – zam
@zam: मेरे पास एक ही समस्या है। क्या आप अपना समाधान पोस्ट कर सकते हैं? जब मैं सीएसआरएफ का उपयोग करता हूं तो मुझे एक और त्रुटि मिलती है 'यहां कोई HTTP अनुरोध शीर्षलेख नहीं मिल रहा है'। मैं संस्करण 2.6.x का उपयोग कर रहा हूँ। – costa