Shakldan keyingi hal qiluvchi sifatida menda quyidagi Controller amali bor:
def importCompletionsSubmit(indexName: String) = AuthenticatedAction {
Action.async {
implicit request => {
completionsForm.bindFromRequest().fold(
errors => Future.successful(Ok(html.crudindex.importCompletionsForm(indexName, errors))),
completions => {
val autoCompletionService = new AutoCompletionService(new Elasticsearch)
autoCompletionService.importCompletions(indexName, completions.text) map {
result: BulkImportResult =>
if (result.error) Redirect(routes.ListIndices.index(Option.empty[String])).flashing("error" -> Messages("error.bulkItemsFailed", result.failures))
else Redirect(routes.ListIndices.index(Option.empty[String])).flashing("success" -> Messages("success.completionsAdded", result.requests))
}
}
)
}
}
}
Men bu amal uchun maksimal uzunlik qiymatini o'zgartirishim mumkinligini bilaman, lekin men qilmoqchi bo'lgan narsa foydalanuvchini juda ko'p matn kiritganida yaxshi xato xabari bilan formaga qaytarishdir. Agar so'rov tanasi standart maksimal uzunlikdan oshsa, men butunlay bo'sh sahifani olaman va faqat brauzer konsolida "413 (So'rov ob'ekti juda katta)" ko'rsatiladi. Men ushbu xatoni global ob'ektimda ushlashga harakat qildim, lekin bu hech narsani o'zgartirmadi. Menimcha, tahlilchi xato sahifasini qaytarib yuborganda global onError triggeri kiritilmagandek tuyuladi. Hali bo'sh sahifa. Men ushbu xatoni amalda aniqlashga harakat qildim, lekin menimcha, harakat kodi kiritilmagan, chunki tana tahlilchisi allaqachon bu bo'sh xato sahifasini tashlamoqda.
Tana maksimal uzunlikdan oshib ketganda, foydalanuvchini ariza harakatiga qaytarishning bir usuli bormi?