【发布时间】:2021-08-11 10:43:48
【问题描述】:
我正在尝试在 .net 核心中为我的一个项目使用 requiredif 验证器。 我有 2 个 requiredif 属性的构造函数
public RequiredIfAttribute(string s1,string s2,string errormsg=""){}
还有
public RequiredIfAttribute(string s1,string s2,string s3,string errormsg=""){}
当使用以下代码时,对于以下两种情况,只有第一个具有 3 个参数的构造函数被调用
[RequiredIf("test","test","test","test")],
[RequiredIf("test","test","test")]
有谁知道在RequiredIf中传递4个参数时如何用4个参数实际命中构造函数
代码
public class model
{
[RequiredIf("test","test","test",ErrorMessage="test")]
public string content{get:set;}
[RequiredIf("test","test",ErrorMessage="test")]
public string version{get;set;}
}
public classs RequiredIfAttribute:ValidationAttribute
{
public RequiredIfAttribute(string s1,string s2,string errormsg=""){}
public RequiredIfAttribute(string s1,string s2,string s3,string errormsg=""){}
}
【问题讨论】:
-
对我来说这听起来不太可能。编译器不只是忽略属性参数。请问你能发一个minimal reproducible example吗?
-
我已经编辑了代码。问题似乎是由于可选参数。如何在不删除可选参数的情况下解决此问题?
-
您还没有提供minimal reproducible example。如果我无法重现问题,我将无法为您提供帮助。
标签: c# validation .net-core asp.net-core-webapi