【问题标题】:Remote annotation not working in edit mode远程注释在编辑模式下不起作用
【发布时间】:2015-09-05 14:26:16
【问题描述】:

现在我有一个问题,在编辑模式下远程注释不起作用,但在添加模式下工作八 .... 在编辑模式下,如果我专注于我在其中进行远程注释的文本框,然后关注文本框并按下提交表单在编辑模式下正常工作,但如果我不关注文本框,即使我输入无效数据,表单也会提交,并且在提交后调用远程注释操作!!!

<div class="col-md-12">
  <label for="form-username" class="  control-label">
    <%=Dashboard.App_GlobalResources.ui.Views.Shared.SharedStrings.ID%>
    <span class="required" aria-required="true">* </span>
  </label>
  <div class=" ">
    <div class="input-icon right">
      <i class="fa"></i>
      <%:Html.TextBoxFor(model => model.username, new { @id = "form-username", @name = "SSN",@class="form-control" })%>
      <%:Html.ValidationMessageFor(model => model.username)%>
    </div>
  </div>
</div>

在模型中

[CustomRequired]
[MaxAvaLength(20)]
[Remote("usernameForCountry", "Validation")]
public string username
{
    get { return _username; }
    set { _username = value; }
}

验证函数

public JsonResult usernameForCountry(string username)
{
    return Json(true, JsonRequestBehavior.AllowGet);
}

【问题讨论】:

  • 不清楚您的要求。您当前的usernameForCountry() 方法只返回true,这表明该属性是有效的,因此永远不会有任何验证错误。你到底想做什么?

标签: jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

如果用户存在,则必须返回 false 而不是 true

public JsonResult usernameForCountry(string username)
{
     if (_userManager.IsUserExist(username)) return Json(false);
     return Json(true);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多