【发布时间】:2016-11-18 00:15:08
【问题描述】:
我有一个 MVC Ajax 回调来检查用户输入是否有效。此回调通过关联模型属性上的 [Remote] 属性调用。
我已经更改了我的设计,并且我决定如果值不正确,我真的想警告用户,但我不希望不正确的值阻止模型验证。
快速搜索会找到几个线程,这些线程描述了连接“不引人注目的警告”的一般问题的非常复杂的解决方案,类似于 MVC 中的“不引人注目的验证”魔法(例如 this SO post)。我不是在寻找一个通用的解决方案,我不想在这上面花费很多时间和精力,但是我想知道是否有一些 Ajax 大师知道我可以从 Ajax 服务器例程返回的东西导致不显眼的验证客户端代码在不触发验证错误的情况下放置消息的效果。
仅供参考,我现有的服务器端代码如下所示:
public async Task<ActionResult> CouponCodeExists(string couponCode, int? planId)
{
if (some_logic) {
return Json("Coupon code is already taken", JsonRequestBehavior.AllowGet);
} else {
return Json(true, JsonRequestBehavior.AllowGet);
}
}
【问题讨论】:
-
只需在输入
.change()事件中进行自己的ajax 调用,并在成功回调中显示消息(如果您不希望它触发验证错误,请删除RemoteAttribute) -
@StephenMuecke 没有更好的答案,我愿意接受您的评论作为首选答案。如果您愿意将其发布为“答案”,我会接受并完成这个问题。
标签: ajax asp.net-mvc validation