为了账号安全,请及时绑定邮箱和手机立即绑定

Validator.TryValidateProperty 抛出 ArgumentException

Validator.TryValidateProperty 抛出 ArgumentException

C#
慕神8447489 2021-07-16 17:01:26
我使用 ListValidationpublic class Test    {        [ListValidation(ErrorMessage ="wrong")]        public List<string> Listt { get; set; }    }ListValidation 实现[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]    public class ListValidationAttribute : ValidationAttribute    {        public override bool IsValid(object value)        {            var list = value as IList;            if (list != null)            {                return list.Count > 0;            }            return false;        }    }当我测试它时Test t = new Test();            List<string> str = new List<string>();            str.Add("haha");            str.Add("hoho");            t.Listt = str;            JsonResult json = ModelValidation.ValidateProperty(t, nameof(t.Listt));它抛出 ArgumentException{System.ArgumentException: The value for property 'Listt' must be of type 'System.Collections.Generic.List`1[System.String]'.Parameter name: value   at System.ComponentModel.DataAnnotations.Validator.EnsureValidPropertyType(String propertyName, Type propertyType, Object value)   at System.ComponentModel.DataAnnotations.Validator.TryValidateProperty(Object value, ValidationContext validationContext, ICollection`1 validationResults)   at EArchive.Infrastructure.ModelValidation.ValidateProperty(Object obj, String property) in C:\Users\haha\ModelValidation.cs:line 54}这里有什么问题?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信