Я добавил пользовательскую проверку и добавил атрибут для следующего класса
Класс
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 и validationContext и модель переноса, но без данных
CSHTML Page
@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 нет никаких данных, когда я нажимаю кнопку submit в форме. Если я изменю форму, чтобы использовать только модель переноса вместо модели представления, она будет работать нормально, и класс валидации содержит правильные данные. Могу ли я использовать проверку клиентов для моделей просмотра?