[Edit: die ursprünglichen Code-Schnipsel waren nicht korrekt.]C# Hilfe meiner benutzerdefinierten Validierung Fehlermeldung von Immobilien verziert mit RequiredAttribute finden
[Dieser Beitrag die spezifische Frage zu helfen, ist intented zu beantworten Ich hatte das fand ich eine große Antwort auf. Ich verlinke auf meinen Beispielbeitrag, dem ich gefolgt bin, und dann auf den Beitrag, der mir die Antwort gegeben hat. Dann poste ich den Code, den ich erfolgreich verwendet habe, um die Ergebnisse zu erzielen, die ich erreicht habe.]
Ich implementierte eine einfache Technik für die Validierung in meiner Eingabe in einen ApiController. Der folgende Code war funktional, aber wie Sie sehen können, wurde nur eine allgemeine Fehlermeldung angezeigt.
Die Antwort, die ich fand mich auf diese Technik führen hier gefunden wird: https://stackoverflow.com/a/19322688/7637275
Das folgende ist mein Code, den ich mit begann -
using System.Web.Http;
using System.Web.Routing;
using System.Web.Http.Controllers;
using System.Web;
using System.Web.Http.Filters;
namespace TestValidation
{
internal class ValidateModelStateFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
throw new HttpException(422, "Validation failed on input");
}
}
}
}
Der folgende Ausschnitt zeigt die Fehlervalidierung ich gebraucht siehe, anstelle der generischen Nachricht, die oben erwähnt wurde.
[Required(ErrorMessage = @"Parameter ""ID"" is required.")]
[MaxLength(18, ErrorMessage = @"Exceeded max length (18 characters) for parameter ""ID""")]
public string ID { get; set; }
An diesem Punkt in meinem überschreiben, muss ich in die HttpActionContent Objekt „Action“ graben die benutzerdefinierten Fehlermeldungen zu finden.