Я добавил два ValidationAttribute для значений в моей модели, но значение многоугольника является необязательным параметром в моем запросе, поэтому иногда он не будет предоставлен, но с помощью ValidationAttribute, если значение не будет передано, оно не даст результата проверки ивыдает ошибку.
Есть ли способ заставить его проходить результат проверки ТОЛЬКО при установке значения?Я знаю, что могу установить свой собственный RequiredIf, но я не хочу создавать другой параметр, такой как polygonSet = true, просто для проверки того, что полигон должен иметь значение.
public class SearchQueryModelTypeAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
... (code to valide type)
}
}
public class SearchQueryModelPolygonAttribute: ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
... (code to validate the polygon)
}
}
[Required]
[BindProperty(Name = "type")]
[SearchQueryModelType]
public string Polygon { get; set; }
[BindProperty(Name = "polygon")]
[SearchQueryModelPolygon]
public string Polygon { get; set; }