我有一些<select>使用所选插件的输入,我想在客户端验证为"必需".由于"selected"隐藏了实际的select元素并创建了一个包含div和spans的小部件,因此本机HTML5验证似乎无法正常工作.表单将不会提交(这是好的),但错误消息未显示,因此用户不知道什么是错的(这不好).
我已经转向jQuery验证插件(我计划最终使用它)但到目前为止还没有任何运气.这是我的测试用例:
<form>
<label>Name: <input name="test1" required></label>
<label>Favorite Color:
<select name="test2" required>
<option value=""></option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</label>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
$('select').chosen();
$('form').validate();
});
Run Code Online (Sandbox Code Playgroud)
这样可以select使用空值,而无需验证或显示错误消息.当我注释掉这chosen()条线时,它运行正常.
如何chosen()使用jQuery验证插件验证输入,并显示无效的错误消息?
代码如下:
如果我没有在组合框中选择任何值并按提交,则不会询问验证消息.
<tr>
<td>Department </td>
<td> : </td>
<td class="@*@Model.NoEdit*@">
@Html.DropDownListFor(m => m.DepartmentId, new SelectList(Model.Departments, "SelectedDepartmentId", "DepartmentCode"), "-- Select Department--", new {@class = "chosen-select", id = "cboDeptartment" })
@Html.ValidationMessageFor(model => model.DepartmentId)
</td>
Run Code Online (Sandbox Code Playgroud)