Newer
Older
Warehouse / src / Application / Products / UpdateProduct / UpdateProductCommandValidator.cs
@Derek Comartin Derek Comartin on 22 Aug 2023 690 bytes Init
using MyWarehouse.Domain.Products;

namespace MyWarehouse.Application.Products.UpdateProduct;

public class UpdateProductCommandValidator : AbstractValidator<UpdateProductCommand>
{
    public UpdateProductCommandValidator()
    {
        RuleFor(x => x.Name)
            .NotEmpty()
            .MaximumLength(ProductInvariants.NameMaxLength);

        RuleFor(x => x.Description)
            .NotEmpty()
            .MaximumLength(ProductInvariants.DescriptionMaxLength);

        RuleFor(x => x.MassValue)
            .GreaterThanOrEqualTo(ProductInvariants.MassMinimum);

        RuleFor(x => x.PriceAmount)
            .GreaterThanOrEqualTo(ProductInvariants.PriceMinimum);
    }
}