我想手动触发验证,包括使用jQuery Validate显示错误消息.
我想要完成的场景是这样的形式:
<form>
<input id=i1> <button id=b1>
<input id=i2> <button id=b2>
</form>
Run Code Online (Sandbox Code Playgroud)
点击时b1,只i1应验证.单击b2,只i2应该验证.但是,必须发布所有字段.我怎样才能做到这一点?我考虑过处理click事件b1/b2并手动验证表单的一部分.
我有这个:
@Html.DropDownListFor(x => x.SelectedValue, new SelectList(Model.SomeList, "Value", "Text"))
Run Code Online (Sandbox Code Playgroud)
并希望它呈现为:
<select required>
<option>...</option>
...
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
知道为什么以下下拉列表不会使用必填字段验证类型为int(下面的"标题"字段)?
[Required] // This works!
[Display(Name = "Name")]
public string Name { get; set; }
[Required] // This doesn't work
[Display(Name = "Title")]
public int TitleId { get; set; }
<div class="editor-label">
@Html.LabelFor(model => model.Name, "Name")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name, "This can't be blank!")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.TitleId, "Title")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.TitleId, (SelectList)ViewBag.TitleId, String.Empty)
@Html.ValidationMessageFor(model => model.TitleId)
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用RemoteAttribute我的表单上的特定字段.它的目的并不重要.重要的是,只要字段发生变化,它就需要触发验证操作.除非将字段更改为空白,否则这对我来说很好.
我用谷歌搜索了这个,但没有找到结果.有人知道是否RemoteAttribute确实触发空白字段,如果没有,它是如何被强制的?
或者,可以自定义/修改远程验证器以触发空白值吗?