Try your search with a different keyword or use * as a wildcard.
using FluentValidation;
using Nop.Plugin.Pickup.PickupInStore.Models;
using Nop.Services.Localization;
using Nop.Web.Framework.Validators;
namespace Nop.Plugin.Pickup.PickupInStore.Validators;
public class StorePickupPointValidator : BaseNopValidator
{
public StorePickupPointValidator(ILocalizationService localizationService)
{
// Latitude
RuleFor(model => model.Latitude)
.InclusiveBetween(-90, 90)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Latitude.InvalidRange"))
.When(model => model.Latitude.HasValue);
RuleFor(model => model.Latitude)
.Must(latitude => latitude.HasValue)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Latitude.IsNullWhenLongitudeHasValue"))
.When(model => model.Longitude.HasValue);
RuleFor(model => model.Latitude)
.PrecisionScale(18, 8, false)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Latitude.InvalidPrecision"));
// Longitude
RuleFor(model => model.Longitude)
.InclusiveBetween(-180, 180)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Longitude.InvalidRange"))
.When(model => model.Longitude.HasValue);
RuleFor(model => model.Longitude)
.Must(longitude => longitude.HasValue)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Longitude.IsNullWhenLatitudeHasValue"))
.When(model => model.Latitude.HasValue);
RuleFor(model => model.Longitude)
.PrecisionScale(18, 8, false)
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Pickup.PickupInStore.Fields.Longitude.InvalidPrecision"));
}
}