کتابخونه کامپوننت Bz

BzForm و BzInput

انواع ورودی (فیلتر کاراکتر / پول / ماسک)
تومان

text= | persian= | number= | money= | card=

کد
@using BzCore.Components.Input
@using BzCore.Enums

<BzInput TValue="string" @bind-Value="text" Label="متن آزاد" Placeholder="هرچیزی…" Clearable />
<BzInput TValue="string" @bind-Value="persian" Label="فقط فارسی" CharFilter="BzCharFilter.PersianOnly" />
<BzInput TValue="int?" @bind-Value="number" Label="فقط عدد" CharFilter="BzCharFilter.NumberOnly" />
<BzInput TValue="decimal?" @bind-Value="money" Label="مبلغ (تومان)" Mode="BzInputMode.Money"
          Currency="BzCurrency.Toman" UpdateTrigger="BzUpdateTrigger.OnInput" />
<BzInput TValue="string" @bind-Value="card" Label="شماره کارت" Mode="BzInputMode.Mask"
          Mask="####-####-####-####" StartIcon="fa-regular fa-credit-card" />

<p>@text | @persian | @number | @money | @card</p>

@code {
    string? text, persian, card;
    int? number;
    decimal? money;
}

فرم با ولیدیشن و ولیدیشن گروهی

کد فرم
@using BzCore.Components.Input
@using BzCore.Components.Form
@using BzCore.Components.Button
@using BzCore.Enums
@using BzCore.Validation
@using System.ComponentModel.DataAnnotations

<BzForm @ref="form" TModel="RegisterModel" Model="model"
         ValidationMode="BzValidationMode.DataAnnotations | BzValidationMode.Custom"
         CustomValidator="CustomRules" ShowSummary="true" OnValidSubmit="OnValid">

    <BzInput TValue="string" @bind-Value="model.FirstName" Label="نام" Required
              ValidationGroup="identity" CharFilter="BzCharFilter.PersianOnly" />
    <BzInput TValue="string" @bind-Value="model.NationalCode" Label="کد ملی" Required
              ValidationGroup="identity" Mode="BzInputMode.Mask" Mask="##########" />
    <BzInput TValue="decimal?" @bind-Value="model.Salary" Label="حقوق"
              ValidationGroup="finance" Mode="BzInputMode.Money" Currency="BzCurrency.Toman" />

    <BzButton ButtonType="submit" Text="ثبت کامل" Color="BzColor.Success" />
    <BzButton Text="فقط گروه هویتی" Variant="BzButtonVariant.Outlined"
               OnClick="@(() => form.ValidateGroup("identity"))" />
</BzForm>

@code {
    BzForm<RegisterModel> form = default!;
    RegisterModel model = new();

    public class RegisterModel
    {
        [Required(ErrorMessage = "نام لازم است")]
        public string? FirstName { get; set; }

        [Required, StringLength(10, MinimumLength = 10, ErrorMessage = "کد ملی باید 10 رقم باشد")]
        public string? NationalCode { get; set; }

        public decimal? Salary { get; set; }
    }

    void OnValid(RegisterModel m) { /* save */ }

    IEnumerable<BzValidationError> CustomRules(RegisterModel m)
    {
        if (m.Salary is < 1_000_000)
            yield return new BzValidationError(nameof(m.Salary), "حقوق نباید کمتر از یک میلیون تومان باشد.");
    }
}
تومان

فیلترهای کاراکتر (بیشتر)

$

فرم ورود