Asp.Net Mvc3 Jquery验证手动显示错误消息

时间:2012-02-21 13:52:41

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

我有以下输入:

<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>

经过一点善意之后,我想做以下事情:

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."});

它没有错误 - 所以必须找到要验证的元素 - 但不做任何事情吗?

1 个答案:

答案 0 :(得分:0)

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

应该是:

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