Asp.net mvc 如何在<;上动态应用MVC验证属性;输入类型=';文本'&燃气轮机;
我有一个带有Asp.net mvc 如何在<;上动态应用MVC验证属性;输入类型=';文本'&燃气轮机;,asp.net-mvc,unobtrusive-validation,Asp.net Mvc,Unobtrusive Validation,我有一个带有[Required]和[MaxLength(4)]属性的ViewModel public class Student { [MaxLength(4)] [Required] public string Name { get; set; } } 在我看来,我有 @model List<WebApplication2.Models.Student> <div class="row"> <div class="col-md-4
[Required]
和[MaxLength(4)]
属性的ViewModel
public class Student
{
[MaxLength(4)]
[Required]
public string Name { get; set; }
}
在我看来,我有
@model List<WebApplication2.Models.Student>
<div class="row">
<div class="col-md-4">
@{
foreach(var item in @Model)
{
@Html.TextBoxFor(model=>item.Name)
@Html.ValidationMessageFor(model => item.Name)
}
}
</div>
<div class="col-md-4">
@{
foreach (var item in @Model)
{
<input type="text" value="@item" />
}
}
</div>
@型号列表
@{
foreach(@Model中的var项)
{
@Html.TextBoxFor(model=>item.Name)
@Html.ValidationMessageFor(model=>item.Name)
}
}
@{
foreach(@Model中的var项)
{
}
}
当我使用@Html helpers呈现文本框时,它将数据验证规则应用于文本框。我不知道如何将其应用于普通Html
是否有任何方法可以在不使用@Html helpers的情况下动态执行此操作?为什么要手动执行此操作?动态的意思是什么?顺便说一下,您的foreach
循环不会绑定到您的模型,也不会给您提供验证-请参阅。另外,您的
没有任何意义-项是一个复杂对象,您无法将输入绑定到复杂对象,因为循环将使用@Html helpers。动态地意味着,模型属性具有自定义属性,我可以使用model.GetType().GetProperty(“名称”)获取,但不确定如何在呈现时获取和应用验证规则