So che è possibile utilizzare gli attributi di convalida su un modello per la convalida in questo modo:Web API singola stringa di parametri di convalida utilizzando la convalida
public class CommunicationQuery
{
[RegularExpression("[0-9]{0,10}", ErrorMessage = "Please enter a valid policy number")]
public string PolicyId { get; set; }
[RegularExpression("[0-9]{0,10}", ErrorMessage = "Please enter a valid member number")]
public string MemberId { get; set; }
}
public IEnumerable<Communication> Get([FromUri]CommunicationQuery documentQuery)
{
}
Ma è possibile convalidare una singola stringa utilizzando convalida attributi come Questo?
public async Task<HttpResponseMessage> Get([RegularExpression("[0-9]{0,10}")]string id)
{
}
Questo non sembra funzionare. L'unico modo in cui sono riuscito a farlo è quello di creare un oggetto wrapper e utilizzare [FromUri]
, utilizzare un valore personalizzato ActionFilterAttribute
sull'azione stessa o convalidare manualmente il parametro nell'azione del controller utilizzando un'espressione regolare.
vincoli del percorso Web API utile anche per la validazione come [Percorso ("XYZ/{id: int: maxlength (10)}")] – 111