bad*_*ado 6 validation datetime asp.net-mvc-4
如何避免为从Datetime属性创建的元素生成html属性"data-val-date"?
该模型:
public class RegisterModel
{
[Required]
[Display(Name = "Date of birth")]
public DateTime? DateOfBirth { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
风景:
@Html.LabelFor(m => m.DateOfBirth)
@Html.EditorFor(m => m.DateOfBirth)
Run Code Online (Sandbox Code Playgroud)
实际上,我正在创建一个用于选择出生日期的三个下拉列表元素,它不提供日期格式的值.我见过的一些解决方案包括一个解决方法:使用javascript删除验证.我设想的解决方案是将DateTime属性拆分为每个值(日,月,年)的三个长属性.
nic*_*ojs 15
好吧,这花了我一个下午的工作......显然mvc4决定是时候在viewmodel上的每个datetime属性上呈现data-val-date ="Message"了.我试图修改此默认行为但没有成功.
这解决了我的问题:
$.validator.addMethod('date',
function (value, element) {
return true; // since MVC4 data-val-date is put on EVERY vm date property. Default implementation does not allow for multiple cultures...
});
Run Code Online (Sandbox Code Playgroud)
您还可以尝试在共享的EditorFor文件夹中编写名为"DateTime.cshtml"的编辑器模板,但不要在那里使用TextBoxFor,因为那个也被污染了.
| 归档时间: |
|
| 查看次数: |
6209 次 |
| 最近记录: |