Пользовательская проверка в MVC asp.net в ViewModel - PullRequest
1 голос
/ 08 июня 2019

Я добавил пользовательскую проверку и добавил атрибут для следующего класса

Класс

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...