【发布时间】:2013-12-19 02:29:02
【问题描述】:
当我尝试检查表单是否有效时,我遇到了一种情况,但 form.valid() 总是返回 true。但是如果我尝试验证单个控件,它会返回 false。
这是我的表格:
<div class="profilestagsedit">
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "tagsform" }))
{
@Html.ValidationMessageFor(x => x.EditTagsText)
@Html.TextBoxFor(p => p.EditTagsText, new
{
@id = "txtprofileedittags"
})
}
</div>
这是我的视图模型:
[Required(AllowEmptyStrings = false, ErrorMessage = "Please enter at least one Tag ")]
public string EditTagsText { get; set; }
这是 jQuery 代码:
$('#tagsform').removeData("validator");
$('#tagsform').removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse('#tagsform');
$('#tagsform').validate();
然后点击保存按钮:
var isValid = $('#tagsform').validate().element($('#txtprofileedittags')); <-- false
$('#tagsform').valid() true <--
我希望 form.valid() 也返回 false,我做错了什么?
【问题讨论】:
-
也许你应该在输入中添加“必需”
标签: jquery jquery-validate unobtrusive-validation