【发布时间】:2014-02-11 13:06:25
【问题描述】:
我得到执行异常
[APIError:您必须提供电子邮件地址才能创建工单。]
有可能捕捉到这个错误并只发布
“您必须提供电子邮件地址才能创建工单。”
此错误应显示在视图页面中。
给出错误的代码:
val question = uservoice.post("/api/v1/tickets.json", ticket).getJSONObject("ticket")
控制器:
def contactSave = withOptionUser { user => implicit request =>
contactForm.bindFromRequest.fold(
formWithErrors => BadRequest(html.anon.contact(user, formWithErrors)),
c => {
val uservoice = new com.uservoice.Client(SUBDOMAIN, API_KEY, API_SECRET)
val ticketMsg = Map("state" -> "open","subject" -> c._2, "message" -> c._3).toMap[String,Object].asJava
val ticket = Map("email" -> c._1, "ticket" -> ticketMsg).toMap[String,Object].asJava
Logger.debug(ticket.toString)
val question = uservoice.post("/api/v1/tickets.json", ticket).getJSONObject("ticket")
Logger.debug(question.toString)
Ok(views.html.anon.contactThanks(user))
}
)
}
HTML:
@main("Contact Us",user,"contact",stylesheet, scripts) {
@helper.form(routes.UservoiceController.contactSave) {
<section class="contact">
<div class="contactBox contentBox">
<div class="leftColumn">
<h1>Contact Us</h1>
<span>You can fill out this form for any general inquiries, comments, etc.</span>
<span>You can also find us on Facebook and Twitter!</span>
<div class="social">
@form.globalError.map { error =>
<span class="error" data-xpl="loginError">
@error.message
</span>
【问题讨论】:
-
您不应该在发布到该 API 之前检查有效的电子邮件地址吗?盲目地捕获所有异常可能会掩盖其他错误。
-
您好 Limb,代码使用 3rd 方电子邮件发送,我无法找到他们如何验证他们的电子邮件。所以我想在试图找出使用的验证时发现错误。
标签: forms scala playframework