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

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • RyanXLT

    RyanXLT

    22 Ocak 2011