我想在我的剃刀视图中创建字段验证。
这很容易,因为 MVC 会自动为我们生成validationMessageFor。
正如我所读到的,我们不允许在模型类中进行验证,而是使用 viewModel 类。现在我对如何将[Required]注释放在我的 viewModel 中有点困惑。
我的问题
这就是真正的验证将如何工作
查看
<tr>
<td>Name</td>
<td colspan="2">
@Html.EditorFor(model => model.reg.registerNm, new { @class = "TextBoxAsLabel" })
@Html.ValidationMessageFor(model => model.reg.registerNm)
</td>
</tr>
视图模型
public class reg
{
[Required]
public string registerNm {get;set;}
}
这会起作用,但是在我的ViewModel中,结构不同,因为我需要使用许多表
My ViewModel中的数据
public class RegisterInfoPA
{
public register reg { get; set; }
public personalInfo pinfo { get; set; }
public IEnumerable<maritalInfo> minfo { get; set; }
public IEnumerable<eduInfo> edInfo { get; set; }
public IEnumerable<monthlyIncome> monthlyIncomeInfo { get; set; }
public refundBank refundBK { get; set; }
public IEnumerable<accType> accType { get; set; }
}
所以每当我在这里分配[Required]注释时,验证将不起作用。
我如何为我的 ViewModel 做验证消息,因为我的 viewModel 正在使用
公共注册 reg { 获取;放; }
它代表了我想要的这么多字段,但出于验证目的,我只希望验证一个或两个特定字段。我怎样才能做到这一点?
谢谢你 。