You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
using Common.Models.ModelValidation;
|
|
using Common.Models.RequestResponse;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
|
|
namespace Common.Utility
|
|
{
|
|
public class CustomModelValidaton
|
|
{
|
|
public TPResponse IsModelValid<T>(T model) where T : class
|
|
{
|
|
var jm = new ValidationContext(model, serviceProvider: null, items: null);
|
|
var results = new List<ValidationResult>();
|
|
bool IsValid = Validator.TryValidateObject(model, jm, results);
|
|
if (!IsValid)
|
|
{
|
|
var errorList = results.Select(x => new FieldsValidation()
|
|
{
|
|
Name = x.MemberNames.First(),
|
|
Message = x.ErrorMessage
|
|
}).ToList();
|
|
TPResponse tPResponse = new TPResponse()
|
|
{
|
|
ResponseCode = "104",
|
|
Msg = "Model Validation Failed !",
|
|
Data = errorList
|
|
};
|
|
return tPResponse;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|