如何在剃刀视图上创建一个字段?

M. *_*ALI 5 jquery razor asp.net-mvc-3

我想将"data-val-required"和"data-val"属性添加到@html.textbox或@ Html.EditorFor元素.是否可以不重写视图?

Dar*_*rov 10

通常你不应该重写视图来实现这一点.您应该使用相应的验证属性修饰视图模型属性.例如:

[Required]
public string Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后Html助手将生成正确的标记.但是,如果由于一些奇怪的原因你无法修改此代码,你可以使用javascript手动添加这些属性:

$(function() {
    $('#id_of_the_field').attr('data-val-required', 'true');
});
Run Code Online (Sandbox Code Playgroud)

添加这些属性后,您需要重新分析包含这些输入字段的表单的验证规则,以使更改生效:

$('form').removeData('validator');
$('form').removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse('body');
Run Code Online (Sandbox Code Playgroud)