我想编写条件要求,但条件取决于它被使用在控制器上。
我已经有自定义属性MyRequiredIfNot
。我只是不知道如何获取有关IsValid
方法控制信息。
例如:
public class MyController1 : Controller
{
public ActionResult Method1(MyModel model)
{
//Name is required !!!
}
}
public class MyController2 : MyController1
{
public ActionResult SomeMethod(MyModel model)
{
//Name is NOT required !!!
}
}
public class MyModel
{
[MyRequiredIfNot(MyController2)
public string Name { get;set; }
}
和失踪的实现:
public class MyRequiredIfNotAttribute : ValidationAttribute
{
public MyRequiredIfNotAttribute(Controller controller) { }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (/*came_from ?*/ is this.controller) //Missing !!!!
return ValidationResult.Success;
else
return base.IsValid(value, validationContext);
}
}
对于检索qazxsw POI,你可以尝试qazxsw POI。
请按照以下步骤进行:
Controller
IActionContextAccessor
IActionContextAccessor
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
//rest services
}