SORU
27 Temmuz 2012, Cuma


ASP.NET Web API ModelState Doğrulama işlemek

ASP.NET Web API ile model doğrulama elde edebilirim nasıl olduğunu merak ettim. Benim model gibi çok var:

public class Enquiry
{
    [Key]
    public int EnquiryId { get; set; }
    [Required]
    public DateTime EnquiryDate { get; set; }
    [Required]
    public string CustomerAccountNumber { get; set; }
    [Required]
    public string ContactName { get; set; }
}

Ben o zaman benim API Denetleyicisi Sonrası bir eylem var:

public void Post(Enquiry enquiry)
{
    enquiry.EnquiryDate = DateTime.Now;
    context.DaybookEnquiries.Add(enquiry);
    context.SaveChanges();
}

Nasıl if(ModelState.IsValid) ekleme ve kullanıcı için aşağı geçmek hata iletisini işlemek sonra mı?

CEVAP
30 Temmuz 2012, PAZARTESİ


Endişe ayrılması için, model doğrulama için eylem filtre kullanmanızı öneririm, apı denetleyicisi doğrulama yapmak için ne kadar dikkate gerek yok:

using System.Net;
using System.Net.Http;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;

namespace System.Web.Http.Filters
{
    public class ValidationActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var modelState = actionContext.ModelState;

            if (!modelState.IsValid)
                actionContext.Response = actionContext.Request
                     .CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
        }
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • tunez4you

    tunez4you

    20 EKİM 2008