验证后

时间:2017-09-29 14:54:42

标签: c# asp.net-mvc-5 unobtrusive-validation

如果有人忘记输入日期,然后点击提交,我们将获得"访问日期是必需的"正如预期的那样,但是在填充日期后,需要"必要的"消息不会像其他所有字段一样消失。我仍然可以点击提交,它工作正常,但项目所有者认为这可能会让人感到困惑,并希望它消失,因为它应该在字段填写正确时。我的NuGet包里有1.16的jQuery.Validation,没有更新。

在我看来,我有这个:

<div class="form-group">
    @Html.LabelFor(m => m.DateOfVisit, new { @class = "form-label" })
    @Html.TextBoxFor(m => m.DateOfVisit, new { @class = "form-control", type = "Date", placeholder = "MM/DD/YYYY", @Value = "" })
    @Html.ValidationMessageFor(m => m.DateOfVisit, string.Empty, new { @class = "text-danger" })
</div>

在我的模型中,我有这个

[Required(ErrorMessage = "Date of Visit is required")]
[DataType(DataType.Date)]
[Display(Name = "Date of Visit")]
public DateTime DateOfVisit { get; set; }

编辑:发生这种情况,我假设所有的浏览器。我在Chrome和IE 11上重复了这个问题。而且,只有一个字段表现得这样; &#34;必需&#34;文本在所有其他字段上消失了。我不知道为什么这个不同。

1 个答案:

答案 0 :(得分:0)

我不确定这是否是一个答案,但更多的是一项工作,所以我可以继续

有一个css隐藏,基本上'display:none'我隐藏了模糊的警告文字。

$('#DateOfVisit').blur(function() {
    if ($(this).val()) {
        $('#DateOfVisit-error').addClass('hidden');
    }
    else {
        $('#DateOfVisit-error').removeClass('hidden');
    }
});

希望在他们正式修复之前帮助其他人。我再次拥有1.7版本。