diff --git a/notes/helloshop/webapp/blazor-globalization-localization.md b/notes/helloshop/webapp/blazor-globalization-localization.md new file mode 100644 index 0000000..e49968c --- /dev/null +++ b/notes/helloshop/webapp/blazor-globalization-localization.md @@ -0,0 +1,23 @@ +# Blazor 全球化与本地化 + +Blazor 应用程序可以通过使用 .NET Core 的全球化和本地化功能来支持多种语言和文化。本文将介绍如何在 Blazor 应用程序中实现全球化和本地化。 + +## Blazor WebAssembly + +```xml + + true + +``` +```shell +dotnet add package Microsoft.Extensions.Localization +``` + +## Blazor Server + +```csharp +builder.Services.AddCustomLocalization(); +``` +```csharp +app.UseCustomLocalization(); +``` diff --git a/notes/helloshop/webapp/blazor-validation.md b/notes/helloshop/webapp/blazor-validation.md new file mode 100644 index 0000000..84aa92e --- /dev/null +++ b/notes/helloshop/webapp/blazor-validation.md @@ -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 + +

Employee Form

+ + + + + +
+ + + +
+ + +
+ +@code { + private Employee employee = new Employee(); +} +``` + +## 使用 FluentValidation 验证 + +```shell +dotnet add package Blazored.FluentValidation +``` + +```csharp +public class EmployeeValidator : AbstractValidator +{ + public EmployeeValidator() + { + RuleFor(x => x.Name).NotEmpty().WithMessage("Name is required"); + } +} +``` + +```csharp +@page "/employee" +@using FluentValidation +@using FluentValidation.Results + +

Employee Form

+ + + + + +
+ + + +
+ + +
+``` +## 自定义验证 + +