Пользовательский атрибут проверки C# не запускает метод IsValid ⇐ C#
-
Anonymous
Пользовательский атрибут проверки C# не запускает метод IsValid
В настоящее время я реализую некоторые пользовательские атрибуты в C# MVC Core, и у меня возникла проблема с ValidationAttribute. Проверка должна запускаться при отправке формы.
Компания общедоступного класса { [ПользовательскийТребуется] [Пользовательская проверка] общедоступная строка Имя {get; набор; } } Этот атрибут работает нормально, и его переопределение срабатывает в режиме отладки, когда я отправляю форму.
публичный класс CustomRequired: RequiredAttribute { общедоступная строка переопределения FormatErrorMessage (имя строки) { //логика вернуть имя; } } В этом и есть проблема. Если я создаю конструктор, он вызывается, но переопределенные методы никогда не срабатывают.
публичный класс CustomValidation: ValidationAttribute { защищенное переопределение ValidationResult? IsValid (объект? значение, ValidationContext validationContext) { //логика вернуть ValidationResult.Success; } } также это реализация внешнего интерфейса
@model Company; @Html.TextBoxFor(модель => модель.Имя) @Html.ValidationMessageFor(model => model.Name, null, new {@class="text-danger"}) Отправить Я попробовал использовать некоторые атрибуты по умолчанию, такие как Required, StringLength, и все они работают нормально, и когда я нажимаю «Отправить», отображается сообщение.
В настоящее время я реализую некоторые пользовательские атрибуты в C# MVC Core, и у меня возникла проблема с ValidationAttribute. Проверка должна запускаться при отправке формы.
Компания общедоступного класса { [ПользовательскийТребуется] [Пользовательская проверка] общедоступная строка Имя {get; набор; } } Этот атрибут работает нормально, и его переопределение срабатывает в режиме отладки, когда я отправляю форму.
публичный класс CustomRequired: RequiredAttribute { общедоступная строка переопределения FormatErrorMessage (имя строки) { //логика вернуть имя; } } В этом и есть проблема. Если я создаю конструктор, он вызывается, но переопределенные методы никогда не срабатывают.
публичный класс CustomValidation: ValidationAttribute { защищенное переопределение ValidationResult? IsValid (объект? значение, ValidationContext validationContext) { //логика вернуть ValidationResult.Success; } } также это реализация внешнего интерфейса
@model Company; @Html.TextBoxFor(модель => модель.Имя) @Html.ValidationMessageFor(model => model.Name, null, new {@class="text-danger"}) Отправить Я попробовал использовать некоторые атрибуты по умолчанию, такие как Required, StringLength, и все они работают нормально, и когда я нажимаю «Отправить», отображается сообщение.
Мобильная версия