Skip to content

Commit 4b4071f

Browse files
committed
Add Validation
1 parent e6bfb74 commit 4b4071f

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

backend/ServiceSimulation/Api/Api.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="AutoMapper" Version="11.0.1" />
11+
<PackageReference Include="FluentValidation.AspNetCore" Version="10.4.0" />
1112
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" />
1213
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" />
1314
</ItemGroup>

backend/ServiceSimulation/Api/Program.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
using Bll.Domain.Entities;
44
using Bll.Domain.Factories;
55
using Bll.Domain.Interfaces;
6-
using Bll.Domain.Models;
76
using Bll.Domain.Services;
7+
using FluentValidation.AspNetCore;
8+
using System.Reflection;
89

910
var builder = WebApplication.CreateBuilder(args);
1011

11-
builder.Services.AddControllers();
12+
builder.Services.AddControllers().AddFluentValidation(fv =>
13+
{
14+
fv.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly());
15+
});
1216
builder.Services.AddEndpointsApiExplorer();
1317
builder.Services.AddSwaggerGen();
1418

@@ -37,6 +41,7 @@
3741
});
3842
#endregion
3943

44+
4045
var app = builder.Build();
4146

4247
if (app.Environment.IsDevelopment())
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using FluentValidation;
2+
using Bll.Domain.Models;
3+
using Api.enums;
4+
5+
namespace Api.Validation
6+
{
7+
public class InputParametersValidator : AbstractValidator<InputParameters>
8+
{
9+
public InputParametersValidator()
10+
{
11+
RuleFor(p => p.NumberOfSources).NotEmpty().InclusiveBetween(1, 100);
12+
RuleFor(p => p.NumberOfDevices).NotEmpty().InclusiveBetween(1, 100);
13+
RuleFor(p => p.AmountOfRequests).NotEmpty().InclusiveBetween(1, 5000);
14+
RuleFor(p => p.BufferSize).NotEmpty().InclusiveBetween(1, 100);
15+
RuleFor(p => p.LambdaForDevice).NotEmpty().ExclusiveBetween(0, 10000);
16+
RuleFor(p => p.NumberOfSources).NotEmpty().ExclusiveBetween(0, 10000);
17+
RuleFor(p => p.ModelingTime).NotEmpty().ExclusiveBetween(0, 10000);
18+
RuleFor(p => p.SimulationType).IsInEnum();
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)