-
Notifications
You must be signed in to change notification settings - Fork 0
/
04 ValidationRules.txt
37 lines (24 loc) · 1.11 KB
/
04 ValidationRules.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1. Business altına "ValidationRules" klasörü ekle.
2. ValidationRules altına "FluentValidation" klasörü ekle.
3. Business da Manage Nuget Packages ==> FluentValidation (Jeremy Skinner) paketini yükle
4. FluentValidation klasörüne "ProductValidator" sınıfı ekle, "AbstractValidator<Product>" dan inherit et. Validation Dto lar için de olabilir.
5. ctor tab tab constructor oluştur
6. constructor içine "RuleFor(p => p.ProductName).MinimumLength(2);" olarak yaz
Genelde kullanabilmek için:
7. Core katmanında "CrossCuttingConcerns" klasörü ekle.
8. CrossCuttingConcerns altına "Validation" klasörü ekle
9. ValidationTool sınıfını yaz
public static class ValidationTool
{
public static void Validate(IValidator validator, object entity)
{
var context = new ValidationContext<object>(entity);
var result = validator.Validate(context);
if (!result.IsValid)
{
throw new ValidationException(result.Errors);
}
}
}
10. ProductManager içinde
ValidationTool.Validate(new ProductValidator(), product);