Member 12701700 Ответов: 1

Как получить список ошибок проверки tryvalidatemodel в MVC?


0
У меня есть метод, который принимает параметр Id. Я получаю запись из базы данных, используя этот параметр, и я внес некоторые изменения в запись.

Теперь я хочу проверить эти изменения с помощью "TryValidateModel" или "ValidateModel", и я хочу получить список ошибок, если они есть, чтобы отправить их через API, а не отправлять их на просмотр.

Я искал способ сделать это, и большинство статей, которые я нашел, говорят о том, чтобы получить их через "ModelState.Где". Однако запись не исходит из представления.

Вот этот метод:

Что я уже пробовал:

public async Task<ActionResult> Anyname(int id)
        {
            // Get record
            var app = await db.Appointments.FindAsync(id);
            // Do some changes
            app.patFname = null;
            //..
            //..
            // check if model is valid
            bool isValid = TryValidateModel(app);
            if (!isValid)
            {
                // I want to get the list of error and send them back 
            }
            else
            {
                return new HttpStatusCodeResult(200);
            }
        }

1 Ответов

Рейтинг:
2

Sandeep Mewara

Кажется прямолинейным с передачей экземпляра модели в TryValidateModel.
Просто передайте экземпляр вашей модели для проверки, что-то вроде приведенного ниже:

UserInfo info = new UserInfo();
info.FirstName = "value from DB";
info.LastName = "known value";
info.BirthDate = DateTime.Parse("user provided value");

if(TryValidateModel(info))
{
       //Valid
       
}
else
{
       //InValid
}

Ссылаться: Проверка модели программно в ASP.NET база знаний MVC | BinaryIntellect[^]


Member 12701700

Не-А, я пытался ухватить список ошибок.
Я знаю, что TryValidateModel проверит, действительно ли это или нет,
Я просто хочу получить список ошибок, если он недействителен.
Надеюсь, это все прояснит.
Спасибо антвей

Sandeep Mewara

Вы должны использовать: ValidateSummary для этого. Примеры в интернете см.: https://www.tutorialsteacher.com/mvc/htmlhelper-validationsummary

Member 12701700

Нет, чувак, я пытаюсь получить список ошибок в контроллере, а не в представлении,
Я хочу отправить их через API.
Попался я :) заранее спасибо