Study
Blazor

Forms & Validation

Penjelasan

EditForm adalah component bawaan Blazor untuk form dengan validasi terintegrasi — dipasangkan dengan Model (class data biasa yang propertinya ditandai atribut DataAnnotations seperti [Required], [StringLength]) dan <DataAnnotationsValidator />, otomatis memvalidasi saat submit tanpa kode validasi manual.

Contoh Konsep

@* Model.cs *@
@* public class ProdukModel
{
    [Required(ErrorMessage = "Nama wajib diisi")]
    [StringLength(100, MinimumLength = 3)]
    public string Nama { get; set; } = "";
} *@

<EditForm Model="produk" OnValidSubmit="HandleSubmit">
    <DataAnnotationsValidator />
    <ValidationSummary />

    <InputText @bind-Value="produk.Nama" />
    <button type="submit">Simpan</button>
</EditForm>

@code {
    private ProdukModel produk = new();

    private void HandleSubmit()
    {
        // dipanggil HANYA kalau validasi lolos
    }
}

Praktikum

Buat class ArtikelModel dengan properti Judul ([Required], [StringLength] minimal 5 karakter). Buat EditForm dengan InputText untuk Judul, DataAnnotationsValidator, dan ValidationSummary, terhubung ke OnValidSubmit.

Editor Latihan

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

Tips

OnValidSubmit HANYA dipanggil kalau SEMUA aturan validasi lolos — kalau kamu butuh logika yang berjalan TERLEPAS dari valid/tidaknya (mis. logging setiap percobaan submit), pakai OnSubmit biasa dan cek EditContext.Validate() manual di dalamnya.