Skip to content

Commit 80935a1

Browse files
Getting rid of duplicate validator resource entries (final)
1 parent 2dfbbf9 commit 80935a1

File tree

54 files changed

+716
-875
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+716
-875
lines changed

src/Libraries/SmartStore.Data/Migrations/MigrationsConfiguration.cs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,64 @@ public void MigrateLocaleResources(LocaleResourcesBuilder builder)
217217
"Admin.RecurringPayments.History.CreatedOn",
218218
"Admin.ReturnRequests.Fields.CreatedOn"
219219
);
220+
221+
// duplicate validator resource entries in frontend
222+
builder.Delete(
223+
"Blog.Comments.CommentText.Required",
224+
"Forum.TextCannotBeEmpty",
225+
"Forum.TopicSubjectCannotBeEmpty",
226+
"Forum.TextCannotBeEmpty",
227+
"Account.Fields.Email.Required",
228+
"Products.AskQuestion.Question.Required",
229+
"Account.Fields.FullName.Required",
230+
"Products.EmailAFriend.FriendEmail.Required",
231+
"Products.EmailAFriend.YourEmailAddress.Required",
232+
"Reviews.Fields.Title.Required",
233+
"Reviews.Fields.Title.MaxLengthValidation",
234+
"Reviews.Fields.ReviewText.Required",
235+
"Address.Fields.FirstName.Required",
236+
"Address.Fields.LastName.Required",
237+
"Address.Fields.Email.Required",
238+
"Account.Fields.Company.Required",
239+
"Account.Fields.StreetAddress.Required",
240+
"Account.Fields.StreetAddress2.Required",
241+
"Account.Fields.ZipPostalCode.Required",
242+
"Account.Fields.City.Required",
243+
"Account.Fields.Phone.Required",
244+
"Account.Fields.Fax.Required",
245+
"Admin.Address.Fields.EmailMatch.Required",
246+
"ContactUs.Email.Required",
247+
"ContactUs.Enquiry.Required",
248+
"ContactUs.FullName.Required",
249+
"Account.ChangePassword.Fields.OldPassword.Required",
250+
"Account.ChangePassword.Fields.NewPassword.Required",
251+
"Account.ChangePassword.Fields.NewPassword.LengthValidation",
252+
"Account.ChangePassword.Fields.ConfirmNewPassword.Required",
253+
"Account.ChangePassword.Fields.NewPassword.LengthValidation",
254+
"Account.Fields.Email.Required",
255+
"Account.Fields.FirstName.Required",
256+
"Account.Fields.LastName.Required",
257+
"Account.Fields.Company.Required",
258+
"Account.Fields.StreetAddress.Required",
259+
"Account.Fields.StreetAddress2.Required",
260+
"Account.Fields.ZipPostalCode.Required",
261+
"Account.Fields.City.Required",
262+
"Account.Fields.Phone.Required",
263+
"Account.Fields.Fax.Required",
264+
"Account.Fields.Password.Required",
265+
"Account.Fields.Vat.Required",
266+
"Account.PasswordRecovery.NewPassword.Required",
267+
"Account.PasswordRecovery.NewPassword.LengthValidation",
268+
"Account.PasswordRecovery.ConfirmNewPassword.Required",
269+
"Account.PasswordRecovery.Email.Required",
270+
"News.Comments.CommentTitle.Required",
271+
"News.Comments.CommentTitle.MaxLengthValidation",
272+
"News.Comments.CommentText.Required",
273+
"PrivateMessages.SubjectCannotBeEmpty",
274+
"PrivateMessages.MessageCannotBeEmpty",
275+
"Wishlist.EmailAFriend.FriendEmail.Required",
276+
"Wishlist.EmailAFriend.YourEmailAddress.Required"
277+
);
220278
}
221279
}
222280
}

src/Presentation/SmartStore.Web/App_Data/Localization/Installation/installation.de.xml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,9 @@
22
<LocaleResource Name="AdminEmail">
33
<Value>Administrator E-Mail</Value>
44
</LocaleResource>
5-
<LocaleResource Name="AdminEmailRequired">
6-
<Value>Administrator E-Mail ist erforderlich</Value>
7-
</LocaleResource>
85
<LocaleResource Name="AdminPassword">
96
<Value>Administrator Passwort</Value>
107
</LocaleResource>
11-
<LocaleResource Name="AdminPasswordRequired">
12-
<Value>Administrator Passwort ist erforderlich</Value>
13-
</LocaleResource>
148
<LocaleResource Name="ConfigureDirectoryPermissions">
159
<Value>Das Konto '{0}' hat keine 'Ändern' Rechte für den Ordner '{1}'. Bitte richten Sie entpr. Berechtigungen ein.</Value>
1610
</LocaleResource>
@@ -20,15 +14,9 @@
2014
<LocaleResource Name="ConfirmPassword">
2115
<Value>Passwort bestätigen</Value>
2216
</LocaleResource>
23-
<LocaleResource Name="ConfirmPasswordRequired">
24-
<Value>Passwort-Bestätigung ist erforderlich</Value>
25-
</LocaleResource>
2617
<LocaleResource Name="ConnectionString">
2718
<Value>Verbindungszeichenfolge</Value>
2819
</LocaleResource>
29-
<LocaleResource Name="ConnectionStringRequired">
30-
<Value>Die SQL Verbindungszeichenfolge ist erforderlich</Value>
31-
</LocaleResource>
3220
<LocaleResource Name="ConnectionStringValues">
3321
<Value>Verbindungsdaten angeben</Value>
3422
</LocaleResource>
@@ -53,9 +41,6 @@
5341
<LocaleResource Name="DatabaseName">
5442
<Value>Datenbank Name</Value>
5543
</LocaleResource>
56-
<LocaleResource Name="DatabaseNameRequired">
57-
<Value>Datenbank Name ist erforderlich</Value>
58-
</LocaleResource>
5944
<LocaleResource Name="DatabaseNotExists">
6045
<Value>Die Datenbank existiert nicht oder der Verbindungsaufbau ist nicht möglich</Value>
6146
</LocaleResource>
@@ -98,21 +83,12 @@
9883
<LocaleResource Name="SqlServerName">
9984
<Value>SQL Server Name</Value>
10085
</LocaleResource>
101-
<LocaleResource Name="SqlServerNameRequired">
102-
<Value>SQL Server Name ist notwendig</Value>
103-
</LocaleResource>
10486
<LocaleResource Name="SqlServerPassword">
10587
<Value>Passwort</Value>
10688
</LocaleResource>
107-
<LocaleResource Name="SqlServerPasswordRequired">
108-
<Value>SQL Server Passwort ist erforderlich</Value>
109-
</LocaleResource>
11089
<LocaleResource Name="SqlServerUsername">
11190
<Value>Benutzername</Value>
11291
</LocaleResource>
113-
<LocaleResource Name="SqlServerUsernameRequired">
114-
<Value>SQL Server Benutzername ist erforderlich</Value>
115-
</LocaleResource>
11692
<LocaleResource Name="SqlStandard">
11793
<Value>SQL Server (Express) Datenbank verwenden</Value>
11894
</LocaleResource>
@@ -135,9 +111,6 @@
135111
<LocaleResource Name="PrimaryLanguage">
136112
<Value>Primäre Sprache</Value>
137113
</LocaleResource>
138-
<LocaleResource Name="PrimaryLanguageRequired">
139-
<Value>Primäre Sprache ist erforderlich</Value>
140-
</LocaleResource>
141114
<LocaleResource Name="ConfirmInstall">
142115
<Value>Möchten Sie SmartStore.NET jetzt installieren?</Value>
143116
</LocaleResource>

src/Presentation/SmartStore.Web/App_Data/Localization/Installation/installation.en.xml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,9 @@
22
<LocaleResource Name="AdminEmail">
33
<Value>Admin user email</Value>
44
</LocaleResource>
5-
<LocaleResource Name="AdminEmailRequired">
6-
<Value>Enter admin email</Value>
7-
</LocaleResource>
85
<LocaleResource Name="AdminPassword">
96
<Value>Admin user password</Value>
107
</LocaleResource>
11-
<LocaleResource Name="AdminPasswordRequired">
12-
<Value>Enter admin password</Value>
13-
</LocaleResource>
148
<LocaleResource Name="ConfigureDirectoryPermissions">
159
<Value>The '{0}' account is not granted with Modify permission on folder '{1}'. Please configure these permissions.</Value>
1610
</LocaleResource>
@@ -20,15 +14,9 @@
2014
<LocaleResource Name="ConfirmPassword">
2115
<Value>Confirm the password</Value>
2216
</LocaleResource>
23-
<LocaleResource Name="ConfirmPasswordRequired">
24-
<Value>Enter confirm password</Value>
25-
</LocaleResource>
2617
<LocaleResource Name="ConnectionString">
2718
<Value>Connection string</Value>
2819
</LocaleResource>
29-
<LocaleResource Name="ConnectionStringRequired">
30-
<Value>A SQL connection string is required</Value>
31-
</LocaleResource>
3220
<LocaleResource Name="ConnectionStringValues">
3321
<Value>Enter SQL connection values</Value>
3422
</LocaleResource>
@@ -53,15 +41,9 @@
5341
<LocaleResource Name="DatabaseName">
5442
<Value>Database name</Value>
5543
</LocaleResource>
56-
<LocaleResource Name="DatabaseNameRequired">
57-
<Value>Database name is required</Value>
58-
</LocaleResource>
5944
<LocaleResource Name="DatabaseNotExists">
6045
<Value>Database does not exist or you don't have permissions to connect to it</Value>
6146
</LocaleResource>
62-
<LocaleResource Name="DataProviderRequired">
63-
<Value>Select data provider</Value>
64-
</LocaleResource>
6547
<LocaleResource Name="Example">
6648
<Value>Example</Value>
6749
</LocaleResource>
@@ -98,21 +80,12 @@
9880
<LocaleResource Name="SqlServerName">
9981
<Value>SQL Server name</Value>
10082
</LocaleResource>
101-
<LocaleResource Name="SqlServerNameRequired">
102-
<Value>SQL Server name is required</Value>
103-
</LocaleResource>
10483
<LocaleResource Name="SqlServerPassword">
10584
<Value>SQL Password</Value>
10685
</LocaleResource>
107-
<LocaleResource Name="SqlServerPasswordRequired">
108-
<Value>SQL Password is required</Value>
109-
</LocaleResource>
11086
<LocaleResource Name="SqlServerUsername">
11187
<Value>SQL Username</Value>
11288
</LocaleResource>
113-
<LocaleResource Name="SqlServerUsernameRequired">
114-
<Value>SQL Username is required</Value>
115-
</LocaleResource>
11689
<LocaleResource Name="SqlStandard">
11790
<Value>Use SQL Server (or SQL Express) database</Value>
11891
</LocaleResource>

src/Presentation/SmartStore.Web/Models/Blogs/BlogPostModel.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using FluentValidation;
32
using FluentValidation.Attributes;
43
using SmartStore.Web.Framework.Modelling;
54
using SmartStore.Web.Models.Common;
6-
using SmartStore.Web.Validators.Blogs;
5+
using System;
6+
using System.Collections.Generic;
77

88
namespace SmartStore.Web.Models.Blogs
99
{
@@ -30,4 +30,14 @@ public BlogPostModel()
3030
public AddBlogCommentModel AddNewComment { get; set; }
3131
public CommentListModel Comments { get; set; }
3232
}
33+
34+
public class BlogPostValidator : AbstractValidator<BlogPostModel>
35+
{
36+
public BlogPostValidator()
37+
{
38+
RuleFor(x => x.AddNewComment.CommentText)
39+
.NotEmpty()
40+
.When(x => x.AddNewComment != null);
41+
}
42+
}
3343
}

src/Presentation/SmartStore.Web/Models/Boards/EditForumPostModel.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
using System.Web.Mvc;
1+
using FluentValidation;
22
using FluentValidation.Attributes;
33
using SmartStore.Core.Domain.Forums;
4-
using SmartStore.Web.Validators.Boards;
54
using SmartStore.Services.Localization;
5+
using System.Web.Mvc;
66

77
namespace SmartStore.Web.Models.Boards
88
{
@@ -25,4 +25,12 @@ public partial class EditForumPostModel
2525
public bool IsCustomerAllowedToSubscribe { get; set; }
2626
public bool Subscribed { get; set; }
2727
}
28+
29+
public class EditForumPostValidator : AbstractValidator<EditForumPostModel>
30+
{
31+
public EditForumPostValidator()
32+
{
33+
RuleFor(x => x.Text).NotEmpty();
34+
}
35+
}
2836
}

src/Presentation/SmartStore.Web/Models/Boards/EditForumTopicModel.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using System.Collections.Generic;
2-
using System.Web.Mvc;
1+
using FluentValidation;
32
using FluentValidation.Attributes;
43
using SmartStore.Core.Domain.Forums;
5-
using SmartStore.Web.Validators.Boards;
64
using SmartStore.Services.Localization;
5+
using System.Collections.Generic;
6+
using System.Web.Mvc;
77

88
namespace SmartStore.Web.Models.Boards
99
{
@@ -37,6 +37,14 @@ public EditForumTopicModel()
3737

3838
public bool IsCustomerAllowedToSubscribe { get; set; }
3939
public bool Subscribed { get; set; }
40+
}
4041

42+
public class EditForumTopicValidator : AbstractValidator<EditForumTopicModel>
43+
{
44+
public EditForumTopicValidator()
45+
{
46+
RuleFor(x => x.Subject).NotEmpty();
47+
RuleFor(x => x.Text).NotEmpty();
48+
}
4149
}
4250
}

src/Presentation/SmartStore.Web/Models/Catalog/ProductAskQuestionModel.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
using System.Web.Mvc;
1+
using FluentValidation;
22
using FluentValidation.Attributes;
3+
using SmartStore.Core.Domain.Customers;
34
using SmartStore.Services.Localization;
45
using SmartStore.Web.Framework;
56
using SmartStore.Web.Framework.Modelling;
6-
using SmartStore.Web.Validators.Catalog;
7+
using System.Web.Mvc;
78

89
namespace SmartStore.Web.Models.Catalog
910
{
@@ -33,4 +34,19 @@ public partial class ProductAskQuestionModel : EntityModelBase
3334

3435
public bool DisplayCaptcha { get; set; }
3536
}
37+
38+
public class ProductAskQuestionValidator : AbstractValidator<ProductAskQuestionModel>
39+
{
40+
public ProductAskQuestionValidator(PrivacySettings privacySettings)
41+
{
42+
RuleFor(x => x.SenderEmail).NotEmpty();
43+
RuleFor(x => x.SenderEmail).EmailAddress();
44+
RuleFor(x => x.Question).NotEmpty();
45+
46+
if (privacySettings.FullNameOnProductRequestRequired)
47+
{
48+
RuleFor(x => x.SenderName).NotEmpty();
49+
}
50+
}
51+
}
3652
}

src/Presentation/SmartStore.Web/Models/Catalog/ProductEmailAFriendModel.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using System.Web.Mvc;
1+
using FluentValidation;
22
using FluentValidation.Attributes;
33
using SmartStore.Services.Localization;
44
using SmartStore.Web.Framework;
55
using SmartStore.Web.Framework.Modelling;
6-
using SmartStore.Web.Validators.Catalog;
6+
using System.Web.Mvc;
77

88
namespace SmartStore.Web.Models.Catalog
99
{
@@ -32,4 +32,16 @@ public partial class ProductEmailAFriendModel : ModelBase
3232

3333
public bool DisplayCaptcha { get; set; }
3434
}
35+
36+
public class ProductEmailAFriendValidator : AbstractValidator<ProductEmailAFriendModel>
37+
{
38+
public ProductEmailAFriendValidator()
39+
{
40+
RuleFor(x => x.FriendEmail).NotEmpty();
41+
RuleFor(x => x.FriendEmail).EmailAddress();
42+
43+
RuleFor(x => x.YourEmailAddress).NotEmpty();
44+
RuleFor(x => x.YourEmailAddress).EmailAddress();
45+
}
46+
}
3547
}

src/Presentation/SmartStore.Web/Models/Catalog/ProductReviewModel.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
using System.Collections.Generic;
2-
using System.Web.Mvc;
1+
using FluentValidation;
32
using FluentValidation.Attributes;
43
using SmartStore.Services.Localization;
54
using SmartStore.Web.Framework;
65
using SmartStore.Web.Framework.Modelling;
7-
using SmartStore.Web.Validators.Catalog;
6+
using System.Collections.Generic;
7+
using System.Web.Mvc;
88

99
namespace SmartStore.Web.Models.Catalog
1010
{
@@ -84,4 +84,14 @@ public partial class ProductReviewHelpfulnessModel : ModelBase
8484

8585
public int HelpfulNoTotal { get; set; }
8686
}
87+
88+
public class ProductReviewsValidator : AbstractValidator<ProductReviewsModel>
89+
{
90+
public ProductReviewsValidator()
91+
{
92+
RuleFor(x => x.Title).NotEmpty();
93+
RuleFor(x => x.Title).Length(1, 200).When(x => !string.IsNullOrEmpty(x.Title));
94+
RuleFor(x => x.ReviewText).NotEmpty();
95+
}
96+
}
8797
}

0 commit comments

Comments
 (0)