修改验证逻辑
This commit is contained in:
parent
36c8b15620
commit
168a33b99b
23
notes/helloshop/webapp/blazor-globalization-localization.md
Normal file
23
notes/helloshop/webapp/blazor-globalization-localization.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Blazor 全球化与本地化
|
||||
|
||||
Blazor 应用程序可以通过使用 .NET Core 的全球化和本地化功能来支持多种语言和文化。本文将介绍如何在 Blazor 应用程序中实现全球化和本地化。
|
||||
|
||||
## Blazor WebAssembly
|
||||
|
||||
```xml
|
||||
<PropertyGroup>
|
||||
<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
|
||||
</PropertyGroup>
|
||||
```
|
||||
```shell
|
||||
dotnet add package Microsoft.Extensions.Localization
|
||||
```
|
||||
|
||||
## Blazor Server
|
||||
|
||||
```csharp
|
||||
builder.Services.AddCustomLocalization();
|
||||
```
|
||||
```csharp
|
||||
app.UseCustomLocalization();
|
||||
```
|
76
notes/helloshop/webapp/blazor-validation.md
Normal file
76
notes/helloshop/webapp/blazor-validation.md
Normal file
@ -0,0 +1,76 @@
|
||||
# Blazor 表单验证
|
||||
|
||||
## 使用数据注解 DataAnnotations 验证
|
||||
|
||||
```csharp
|
||||
public class Employee
|
||||
{
|
||||
[Required(ErrorMessage = "Name is required")]
|
||||
public string Name { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
```csharp
|
||||
@page "/employee"
|
||||
@using System.ComponentModel.DataAnnotations
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
|
||||
<h3>Employee Form</h3>
|
||||
|
||||
<EditForm Model="@employee" OnValidSubmit="@HandleValidSubmit">
|
||||
<DataAnnotationsValidator />
|
||||
<ValidationSummary />
|
||||
|
||||
<div class="form-group">
|
||||
<label for="Name">Name</label>
|
||||
<InputText id="Name" @bind-Value="employee.Name" class="form-control" />
|
||||
<ValidationMessage For="@(() => employee.Name)" />
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</EditForm>
|
||||
|
||||
@code {
|
||||
private Employee employee = new Employee();
|
||||
}
|
||||
```
|
||||
|
||||
## 使用 FluentValidation 验证
|
||||
|
||||
```shell
|
||||
dotnet add package Blazored.FluentValidation
|
||||
```
|
||||
|
||||
```csharp
|
||||
public class EmployeeValidator : AbstractValidator<Employee>
|
||||
{
|
||||
public EmployeeValidator()
|
||||
{
|
||||
RuleFor(x => x.Name).NotEmpty().WithMessage("Name is required");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```csharp
|
||||
@page "/employee"
|
||||
@using FluentValidation
|
||||
@using FluentValidation.Results
|
||||
|
||||
<h3>Employee Form</h3>
|
||||
|
||||
<EditForm Model="@employee" OnValidSubmit="@HandleValidSubmit">
|
||||
<FluentValidationValidator DisableAssemblyScanning="@true" />
|
||||
<ValidationSummary />
|
||||
|
||||
<div class="form-group">
|
||||
<label for="Name">Name</label>
|
||||
<InputText id="Name" @bind-Value="employee.Name" class="form-control" />
|
||||
<ValidationMessage For="@(() => employee.Name)" />
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</EditForm>
|
||||
```
|
||||
## 自定义验证
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user