【发布时间】:2015-04-24 07:23:00
【问题描述】:
我有以下模型(简化),注意Email 和Text 都不是Required 字段:
public class MyModel
{
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
public string Text { get; set; }
}
还有以下观点:
@model MyModel
@using (Html.BeginForm)
{
@Html.EditorFor(m => m.Email)
@Html.EditorFor(m => m.Text)
<button id="my-button" type="button">Button</button>
}
我想在点击#my-button 时触发客户端验证,所以我有以下事件处理程序:
$(function() {
$('#my-button').click(function() {
$('form').valid();
});
});
到目前为止一切顺利。我遇到的唯一问题是,当用户打开表单并单击按钮而不填写任何内容时,我不希望 input[type="email"] 字段为 unhighlighted,因为这与其他 input[type="text"] 字段的行为相矛盾不是unhighlighted。
这可能吗?
【问题讨论】:
-
如果您希望输入为空时无效,则需要
[Required]属性。 -
@StephenMuecke 实际上我想要相反的行为,我希望
inputs 在单击button时保持中立(即不是unhighlighted,想不出更好的术语) , 除非输入了值
标签: javascript jquery asp.net-mvc jquery-validate unobtrusive-validation