【问题标题】:Asp.Net Mvc3 Jquery validate manually showing error messagesAsp.Net Mvc3 Jquery 验证手动显示错误消息
【发布时间】:2012-02-21 13:52:41
【问题描述】:

我有以下输入:

<input class="text-box single-line hasDatepicker valid" id="RiskInputModel_Filters_StartDate" name="RiskInputModel.Filters.StartDate" type="text" value="1/1/0001 12:00:00 AM"><br>
<span class="field-validation-valid" data-valmsg-for="RiskInputModel.Filters.StartDate.Value"  data-valmsg-replace="true"></span>

经过一番 ajaxy 善良后,我想做以下事情:

var validator = $("form").validate();

var obj = { };
obj[responseText.message.fieldName] = responseText.message.errorText;
validator.showErrors(obj);

其中 responseText.message.fieldName 为 RiskInputModel.Filters.StartDate

我试过RiskInputModel_Filters_StartDate

但实际上两者都没有做任何事情?

以及分别将 .Value 或 _Value 附加到末尾

我在这里遗漏了什么明显的东西吗?

更新

如果我在控制台中运行它:

$('form').validate().showErrors({"RiskInputModel.Filters.StartDate" : "Start date must be less than or equal to End date."});

它没有错误 - 所以必须找到要验证的元素 - 但什么都不做?

【问题讨论】:

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


    【解决方案1】:

    您的验证范围似乎有错误的 data-valmsg-for;您需要删除 .Value。 data-valmsg-for 需要匹配输入的name

    应该是:

    <span class="field-validation-valid" data-valmsg-for="RiskInputModel.Filters.StartDate" data-valmsg-replace="true"></span>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 2011-07-13
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多