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

  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • Pituvision

    Pituvision

    11 Mart 2006