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), "حقوق نباید کمتر از یک میلیون تومان باشد.");
}
}فیلترهای کاراکتر (بیشتر)
$