如何在 asp.net core 2.1 或更高版本中创建自定义 required if validator

How to create a custom required if validator in asp.net core 2.1 or above

我们如何在 asp.net 核心中创建具有客户端和服务器端验证的自定义模型验证。我的要求是检查 属性 的值,如果满足该值,则应启用必填字段。其他明智的禁用。注释也可以应用于对象 properties.Like this.

public class TradeModel
{   
    public bool TradingObjectives { get; set; }

    [RequiredIf("TradingObjectives","true",ErrorMessage="required")]
    public int Hedge{ get; set; }

    [RequiredIf("TradingObjectives","true",ErrorMessage="required")]
    public AddressModel Address{ get; set; }

}

public class AddressModel 
{
    public long AddressId { get; set; }

    [Required]
    public string Address1 { get; set; }

    public string Address2 { get; set; }
}

我认为你应该使用 Fluent Validation for custom validators. And you can add client-side support to Fluent Validation with FormHelper

您可以编写自定义验证程序,甚至数据库查询。这对您来说是一个了不起的解决方案。