【问题标题】:ASP.Net Web API: Allow blank strings in request property that has a MinLength attribute setASP.Net Web API:允许在具有 MinLength 属性集的请求属性中使用空白字符串
【发布时间】:2021-10-27 06:29:36
【问题描述】:

我有一个请求字段定义如下:

[MinLength(9)] [MaxLength(18)] public string Id { get; set; }

我希望用户能够为此字段输入一个空白字符串,而不是让它触发最小长度属性。是否可以为此添加一些其他属性,或者我是否需要删除 MinLength 属性并自己进行更多手动验证?

【问题讨论】:

  • 如何通过继承ValidationAttribute 并覆盖IsValid 方法来编写自定义验证器,然后可以将其用作数据注释属性
  • 正如@thanzeel 所说,您要么必须编写具有相关继承的自定义验证器,要么(如果这不是您的约束中的选项)使用额外的变量 public string EnteredId {get; set; } 直接获取用户输入 - 如果它不是 null 或空格,您可以转换为 Id 变量,该变量将处理最小/最大长度。
  • 改用StringLength
  • 这能回答你的问题吗? Allow a property to be null or a specified length

标签: c# asp.net asp.net-web-api


【解决方案1】:

你刚刚达到你的目标, 当用户输入一个字符时,[MinLength(9)] 将被激活。

【讨论】:

  • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
猜你喜欢
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 2021-07-30
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多