我添加了自定义验证,并在以下课程中添加了属性
班级
public class Transfer
{
[MoneyTransfer]
public decimal Amount { get; set; }
}
查看模型
public Transfer Transfer{ get; set; }
public decimal TransferBalance { get; set; }
public decimal TotalMoney{ get; set; }
验证类
public class MoneyTransfer: ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
\\Do Validation
}
}
将值作为0传入,并传递validateContext和Transfer模型,但没有数据
CSHTML页面
@model DatabaseMVCPractice.ViewModels.TransfersViewModel
@using (Html.BeginForm("Submit", "Transfers", FormMethod.Post))
{
<div class="form-group">
@Html.EditorFor(model => model.Transfer.Amount, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Transfer.Amount, "", new { @class = "text-danger" })
</div>
}
问题在于,当我在表单上单击“提交”时,“验证”类没有任何数据。如果我将表单更改为仅使用传输模型而不是视图模型,则它可以正常工作,并且Validation Class具有正确的数据。我可以将客户验证用于视图模型吗?