Study
ASP.NET Core

Validasi dengan DataAnnotations

Penjelasan

DataAnnotations menambahkan atribut validasi langsung di properti class ([Required], [StringLength], [Range], [EmailAddress], dst). Kalau Controller ditandai [ApiController] (konvensi standar), ASP.NET Core OTOMATIS memvalidasi dan merespons 400 Bad Request kalau ada pelanggaran, TANPA kamu perlu cek ModelState.IsValid secara manual.

Contoh Konsep

public class CreateProdukRequest
{
    [Required(ErrorMessage = "Nama wajib diisi")]
    [StringLength(100, MinimumLength = 3)]
    public string Nama { get; set; } = "";

    [Range(0, double.MaxValue, ErrorMessage = "Harga tidak boleh negatif")]
    public decimal Harga { get; set; }
}

[HttpPost]
public IActionResult Create([FromBody] CreateProdukRequest request)
{
    // [ApiController] otomatis validasi SEBELUM method ini dieksekusi
    return Ok($"Produk {request.Nama} tersimpan");
}

Praktikum

Tambahkan atribut validasi ke CreateArtikelRequest: Judul wajib string dengan panjang minimal 5 karakter ([Required], [StringLength] dengan MinimumLength), Isi wajib diisi ([Required]).

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Validasi otomatis ini HANYA berlaku untuk Controller ber-atribut [ApiController] — kalau kamu memakai Minimal API (app.MapPost), validasi DataAnnotations TIDAK otomatis berjalan, kamu perlu memanggil validasi manual atau memakai library tambahan seperti FluentValidation.