Ich habe eine Web-API-Modell der LinienWeb-API-Validator, der die Routenparameter/Controller Kontext zugreifen kann
class SampleModel
{
[ComponentExistsValidation]
public Guid? ComponentID { get; set; }
...
}
ich bestätigen müssen, dass die ComponentID
unter einem bestimmten Modell vorhanden ist, und die modelid
ist verfügbar mein Controller als Routenparameter.
[Route("api/model/addcomponents/{modelid:int}")]
public async Task AddComponents(int modelid, [FromBody]SampleModel[] components)
Hier ist mein Validator
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value == null)
return ValidationResult.Success;
Guid componentid = (Guid)value;
int modelid; // How do I get this here?
Model context_mdl = Model.GetModel(modelid);
if(!context_mdl.HasComponent(componentid))
{
return new ValidationResult(string.Format("Invalid component"));
}
}
Kann ich den modelid
Routenparameter im Validator zugreifen?