From 168a33b99bf2a83e6fd90dc5d19027ca888294b1 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 18 Sep 2024 22:13:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=AA=8C=E8=AF=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blazor-globalization-localization.md | 23 ++++++ notes/helloshop/webapp/blazor-validation.md | 76 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 notes/helloshop/webapp/blazor-globalization-localization.md create mode 100644 notes/helloshop/webapp/blazor-validation.md 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

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