-
Notifications
You must be signed in to change notification settings - Fork 532
Expand file tree
/
Copy pathDomainHostValidator.cs
More file actions
30 lines (28 loc) · 996 Bytes
/
DomainHostValidator.cs
File metadata and controls
30 lines (28 loc) · 996 Bytes
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
using FluentValidation;
using Grand.Business.Core.Interfaces.Common.Localization;
using Grand.Infrastructure.Validators;
using Grand.Web.Admin.Models.Stores;
namespace Grand.Web.Admin.Validators.Stores;
public class DomainHostValidator : BaseGrandValidator<DomainHostModel>
{
public DomainHostValidator(
IEnumerable<IValidatorConsumer<DomainHostModel>> validators,
ITranslationService translationService)
: base(validators)
{
RuleFor(x => x.Url).NotEmpty()
.WithMessage(translationService.GetResource("Admin.Configuration.Stores.Domains.Fields.Url.Required"));
RuleFor(x => x.Url).Must((x, _, _) =>
{
try
{
var uri = new Uri(x.Url);
return uri != null;
}
catch
{
return false;
}
}).WithMessage(translationService.GetResource("Admin.Configuration.Stores.Domains.Fields.Url.WrongFormat"));
}
}