我有这样的代码jQuery验证了enumdropdownlistfor
剃刀页:
<div class="editor-label">
@Html.LabelFor(model => model.Citizenship)
</div>
<div class="editor-field">
@Html.EnumDropDownListFor(model => model.Citizenship)
@Html.ValidationMessageFor(model => model.Citizenship)
</div>
型号:
[DisplayName("Гражданство")]
[Required(ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "Required")]
public CitizenshipEnum? Citizenship { get; set; }
最后我得到这个HTML:
<select data-val="true" data-val-required="Пожалуйста, укажите значение" id="Citizenship" name="Citizenship"><option value=""></option>
<option value="RF">Российская Федерация</option>
<option value="other">другое государство</option>
</select>
是什么对此进行验证错误? unobtrusive.js和其他所需的脚本肯定加载(与其他输入验证正常工作)
我试图用添加自定义规则
这样来解决这个问题,但它不工作:
$(function() {
$.validator.addMethod('selectNone', function (value, element) { debugger; return $(element).val(); }, "Please select an option");
$("form").validate({
rules: {
'#Citizenship': {
selectNone: true
}
}
});
};
它工作正常:) –
另一种替代方法是使视野模型中的字段为空,并将其标记为需要。 – Jtrx