Validate list of models programmatically in ASP.NET MVC

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 00:13:03

问题


I would like to validate list of models one by one programmatically.

I tried TryValidateModel but looks like it aggregates validation errors, so that when I iterate through the list of 10 models, if 5th model is not valid, for models 6-10 TryValidateModel returns false.


回答1:


You can use controller methods ValidateModel or TryValidateModel.

ValidateModel - throws exception if model is not valid.

TryValidateModel - returns bool which indicates if model is valid.

From MSDN:

When a model is being validated, all validators for all properties are run if at least one form input is bound to a model property. The TryValidateModel is like the ValidateModel method except that the TryValidateModel method does not throw an InvalidOperationExceptionexception if the model validation fails.

If you validate list of models one by one, you probably would like to reset ModelState for each iteration by calling ModelState.Clear().



来源:https://stackoverflow.com/questions/19994960/validate-list-of-models-programmatically-in-asp-net-mvc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!