Blazor.NumberInput
1.0.1
dotnet add package Blazor.NumberInput --version 1.0.1
NuGet\Install-Package Blazor.NumberInput -Version 1.0.1
<PackageReference Include="Blazor.NumberInput" Version="1.0.1" />
<PackageVersion Include="Blazor.NumberInput" Version="1.0.1" />
<PackageReference Include="Blazor.NumberInput" />
paket add Blazor.NumberInput --version 1.0.1
#r "nuget: Blazor.NumberInput, 1.0.1"
#:package Blazor.NumberInput@1.0.1
#addin nuget:?package=Blazor.NumberInput&version=1.0.1
#tool nuget:?package=Blazor.NumberInput&version=1.0.1
๐ข Blazor NumberInput Component
Komponen Blazor kustom untuk input angka dengan dukungan validasi, format lokal, dan integrasi form yang fleksibel. Terdiri dari dua komponen utama:
๐ฆ Komponen
1. <NumberInput>
Komponen ringan dan fleksibel untuk input angka mandiri, tanpa tergantung pada EditForm
.
โ Fitur Utama
- Binding:
@bind-NumberValue
- Format angka (
N0
,F2
, dsb) - Validasi manual via parameter
Required
- Prefix/Suffix (misal: Rp, %, kg)
- Dukungan
MinValue
,MaxValue
,Step
- Dukungan parsing lokal (
CultureInfo
) - Navigasi keyboard โ โ
- Event interaktif:
@oninput
,@onchange
,@onpaste
- Atribut tambahan HTML (
AdditionalAttributes
)
๐งฉ Contoh
<NumberInput @bind-NumberValue="amount"
Placeholder="Masukkan jumlah"
DisplayPrefix="Rp"
Format="N0"
Required="true"
RequiredValueValidationMessage="Wajib diisi" />
2. <NumberInputBase>
Turunan dari InputBase<decimal?>
, ideal untuk integrasi EditForm
dan validasi otomatis dengan anotasi data ([Required]
, [Range]
, dsb).
โ Fitur Tambahan
- Binding:
@bind-Value
- Terintegrasi otomatis dengan
EditForm
- Validasi otomatis dengan
DataAnnotations
- Mendukung
ValidationMessage
- Dukungan semua fitur
<NumberInput>
(format, batasan, kultur, dsb) - Mengikuti pipeline Blazor standar
๐งฉ Contoh
<EditForm Model="model" OnValidSubmit="Submit">
<DataAnnotationsValidator />
<NumberInputBase @bind-Value="model.Amount"
Placeholder="Masukkan jumlah"
DisplayPrefix="Rp"
Format="N0" />
<ValidationMessage For="@(() => model.Amount)" />
</EditForm>
๐ฌ Perbandingan Singkat
Fitur / Aspek | <NumberInput> |
<NumberInputBase> (InputBase) |
---|---|---|
Binding | @bind-NumberValue |
@bind-Value |
Validasi Otomatis | โ Manual | โ
Ya, via EditForm |
Digunakan dalam EditForm |
Opsional | โ Direkomendasikan |
Prefix / Suffix | โ | โ |
Keyboard โ โ Step | โ | โ |
Atribut HTML tambahan | โ | โ |
Reusabilitas (form standar) | โ ๏ธ Perlu usaha | โ Sesuai konvensi Blazor |
Berat & fleksibilitas | Ringan & bebas | Standar & konsisten |
๐ Dokumentasi Properti Umum
Parameter | Tipe | Deskripsi |
---|---|---|
NumberValue / Value |
decimal? |
Nilai angka (nullable). |
Format |
string |
Format angka, contoh: "N0" , "F2" |
DecimalPlaces |
int |
Presisi parsing desimal |
Culture |
CultureInfo |
Kultur lokal seperti new("id-ID") |
MinValue , MaxValue |
decimal? |
Batas bawah & atas nilai |
Step |
decimal? |
Besar kenaikan nilai saat โโ |
Placeholder |
string? |
Placeholder input |
DisplayPrefix / Suffix |
string? |
Teks tambahan sebelum/sesudah nilai |
Required |
bool? |
Menandakan wajib diisi (manual) |
RequiredValueValidationMessage |
string? |
Pesan validasi jika Required=true |
AdditionalAttributes |
Dictionary<string, object>? |
Atribut tambahan seperti data-* , style , dll. |
๐ Rekomendasi Penggunaan
Gunakan
<NumberInput>
jika:- Butuh komponen input angka ringan
- Tidak menggunakan
EditForm
- Ingin kontrol validasi manual
Gunakan
<NumberInputBase>
jika:- Menggunakan
EditForm
- Ingin validasi otomatis dari model
- Mengikuti pola
InputBase<T>
Blazor
- Menggunakan
๐จโ๐ป Pengembang
Dibuat oleh ganiputras ยท MIT License ยท Kompatibel Blazor Server & WASM
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.18)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Blazor.NumberInput v1.0.1
โ
Perubahan:
- Penambahan dokumentasi XML dan komentar dalam kode untuk semua parameter komponen.
- Penambahan validasi `Required` manual dengan pesan error kustom (dalam UI).
- Dukungan validasi tombol input secara eksplisit (0โ9 dan separator desimal lokal).
- Penanganan tombol โ dan โ untuk menaikkan/menurunkan nilai sesuai step.
- Pembersihan dan penyempurnaan event `oninput`, `onchange`, `onblur`, `onkeydown`, dan `onpaste`.
- Perbaikan debounce input agar lebih stabil saat mengetik/paste.
- Otomatis format ulang angka saat kehilangan fokus (`AutoFormatOnBlur = true`).
- Penyempurnaan parameter `AdditionalAttributes`, `Prefix`, `Suffix`, dan `TextAlign`.
📚 Dokumentasi:
- Tersedia dokumentasi dan readme interaktif di GitHub:
🔗 https://github.com/ganiputras/Blazor.NumberInput
โ ๏ธ Catatan:
- Versi ini menggantikan versi 1.0.0 yang mengandung metadata NuGet (link repository) yang salah.