Files
radzen-blazor/RadzenBlazorDemos/Pages/CompareValidatorBasicUsage.razor
2024-07-26 08:50:50 +03:00

70 lines
3.3 KiB
Plaintext

@using Radzen
@using System.Text.Json
<RadzenStack class="rz-p-0 rz-p-md-12">
<RadzenStack Orientation="Orientation.Horizontal" Gap="0.5rem" AlignItems="AlignItems.Center" class="rz-p-4 rz-border-radius-1" Style="border: var(--rz-grid-cell-border);">
<RadzenCheckBox @bind-Value=@popup Name="popup"></RadzenCheckBox>
<RadzenLabel Text="Display validators as popup" Component="popup" />
</RadzenStack>
<RadzenTemplateForm TItem="Model" Data=@model Submit=@OnSubmit InvalidSubmit=@OnInvalidSubmit>
<RadzenFieldset Text="Password">
<RadzenStack Gap="2rem" class="rz-p-4 rz-p-md-12">
<RadzenRow AlignItems="AlignItems.Center" RowGap="0.25rem">
<RadzenColumn Size="12" SizeMD="4" class="rz-text-align-start rz-text-align-md-end">
<RadzenLabel Text="Password" Component="Password" />
</RadzenColumn>
<RadzenColumn Size="12" SizeMD="8">
<RadzenPassword Name="Password" @bind-Value=@model.Password Style="display: block; width: 100%" />
<RadzenRequiredValidator Component="Password" Text="Enter password" Popup="@popup" Style="position: absolute" />
</RadzenColumn>
</RadzenRow>
<RadzenRow AlignItems="AlignItems.Center" RowGap="0.25rem">
<RadzenColumn Size="12" SizeMD="4" class="rz-text-align-start rz-text-align-md-end">
<RadzenLabel Text="Repeat Password" Component="RepeatPassword" />
</RadzenColumn>
<RadzenColumn Size="12" SizeMD="8">
<RadzenPassword Name="RepeatPassword" @bind-Value=@model.RepeatPassword Style="display: block; width: 100%" />
<RadzenRequiredValidator Component="RepeatPassword" Text="Repeat your password" Popup=@popup Style="position: absolute" />
<RadzenCompareValidator Visible=@(!string.IsNullOrEmpty(model.RepeatPassword)) Value=@model.Password Component="RepeatPassword" Text="Passwords should be the same" Popup=@popup Style="position: absolute" />
</RadzenColumn>
</RadzenRow>
<RadzenRow AlignItems="AlignItems.Center" class="rz-mt-4">
<RadzenColumn Size="12" Offset="0" SizeMD="8" OffsetMD="4">
<RadzenButton ButtonType="ButtonType.Submit" Text="Submit"></RadzenButton>
</RadzenColumn>
</RadzenRow>
</RadzenStack>
</RadzenFieldset>
</RadzenTemplateForm>
<EventConsole @ref=@console />
</RadzenStack>
@code {
class Model
{
public string Password { get; set; }
public string RepeatPassword { get; set; }
}
bool popup;
Model model = new Model();
EventConsole console;
void Log(string eventName, string value)
{
console.Log($"{eventName}: {value}");
}
void OnSubmit(Model model)
{
Log("Submit", JsonSerializer.Serialize(model, new JsonSerializerOptions() { WriteIndented = true }));
}
void OnInvalidSubmit(FormInvalidSubmitEventArgs args)
{
Log("InvalidSubmit", JsonSerializer.Serialize(args, new JsonSerializerOptions() { WriteIndented = true }));
}
}