我有以下输入:
<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."});
它没有错误 - 所以必须找到要验证的元素 - 但不做任何事情吗?
答案 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>