Skip to content

Commit eefc678

Browse files
author
César Cardoso
committed
feature/mensagem-mostar-uma-por-vez
1 parent 72f85ff commit eefc678

File tree

5 files changed

+48
-7
lines changed

5 files changed

+48
-7
lines changed

Samples/Demo01/Src/Utils/C4D.ValidateComponents.Demo01.Utils.pas

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ class procedure TUtils.ClearAllFieldsForm(const AForm: TForm);
3030
for i := 0 to Pred(AForm.ComponentCount) do
3131
begin
3232
LComponent := AForm.Components[i];
33+
34+
if(LComponent is TWinControl)then
35+
if(TWinControl(LComponent).Parent.Name = 'pnConfigBack')then
36+
Continue;
37+
3338
if(LComponent is TEdit)then
3439
TEdit(LComponent).Clear
3540
else if(LComponent is TMemo)then

Samples/Demo01/Src/View/C4D.ValidateComponents.Demo01.View.Main.dfm

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ object C4DValidateComponentsDemo01ViewMain: TC4DValidateComponentsDemo01ViewMain
465465
end
466466
end
467467
object tabConfig: TTabSheet
468-
Caption = 'Config (opcional)'
468+
Caption = 'Config (optional)'
469469
ImageIndex = 1
470470
object pnConfigBack: TPanel
471471
Left = 0
@@ -476,6 +476,7 @@ object C4DValidateComponentsDemo01ViewMain: TC4DValidateComponentsDemo01ViewMain
476476
BevelOuter = bvNone
477477
ParentBackground = False
478478
TabOrder = 0
479+
ExplicitTop = 2
479480
object Label13: TLabel
480481
Left = 16
481482
Top = 16
@@ -485,13 +486,18 @@ object C4DValidateComponentsDemo01ViewMain: TC4DValidateComponentsDemo01ViewMain
485486
end
486487
object ckConfigDisplayComponentNameIfNotFieldDisplay: TCheckBox
487488
Left = 16
488-
Top = 57
489-
Width = 465
489+
Top = 59
490+
Width = 457
490491
Height = 17
492+
Hint =
493+
'Exibir o nome do componente se o Custom Attribute FieldDisplay n' +
494+
#227'o for informado (padr'#227'o Sim)'
491495
Caption =
492496
'Display component name if FieldDisplay Custom Attributes are not' +
493497
' provided (default True)'
494498
Checked = True
499+
ParentShowHint = False
500+
ShowHint = True
495501
State = cbChecked
496502
TabOrder = 0
497503
end
@@ -510,13 +516,26 @@ object C4DValidateComponentsDemo01ViewMain: TC4DValidateComponentsDemo01ViewMain
510516
end
511517
object bntConfigSave: TButton
512518
Left = 16
513-
Top = 80
519+
Top = 96
514520
Width = 113
515521
Height = 25
516522
Caption = 'Save'
517523
TabOrder = 2
518524
OnClick = bntConfigSaveClick
519525
end
526+
object ckConfigShowOneErrorAtATime: TCheckBox
527+
Left = 16
528+
Top = 75
529+
Width = 217
530+
Height = 17
531+
Hint = 'Mostrar um erro por cada vez (padr'#227'o sim)'
532+
Caption = 'Show one error at a time (default True)'
533+
Checked = True
534+
ParentShowHint = False
535+
ShowHint = True
536+
State = cbChecked
537+
TabOrder = 3
538+
end
520539
end
521540
end
522541
end

Samples/Demo01/Src/View/C4D.ValidateComponents.Demo01.View.Main.pas

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ TC4DValidateComponentsDemo01ViewMain = class(TForm)
121121
ckConfigDisplayComponentNameIfNotFieldDisplay: TCheckBox;
122122
cBoxConfigLanguage: TComboBox;
123123
bntConfigSave: TButton;
124+
ckConfigShowOneErrorAtATime: TCheckBox;
124125
procedure btnValidarClick(Sender: TObject);
125126
procedure btnClearAllFieldsClick(Sender: TObject);
126127
procedure FormCreate(Sender: TObject);
@@ -148,7 +149,8 @@ procedure TC4DValidateComponentsDemo01ViewMain.bntConfigSaveClick(Sender: TObjec
148149
TC4DValidateComponents
149150
.Config
150151
.Language(TLanguageDefault(cBoxConfigLanguage.ItemIndex))
151-
.DisplayComponentNameIfNotFieldDisplay(ckConfigDisplayComponentNameIfNotFieldDisplay.Checked);
152+
.DisplayComponentNameIfNotFieldDisplay(ckConfigDisplayComponentNameIfNotFieldDisplay.Checked)
153+
.ShowOneErrorAtATime(ckConfigShowOneErrorAtATime.Checked);
152154
end;
153155

154156
procedure TC4DValidateComponentsDemo01ViewMain.btnClearAllFieldsClick(Sender: TObject);

Src/C4D.Validate.Components.Config.pas

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ TC4DValidateComponentsConfig = class
1111
private
1212
FLanguage: TLanguageDefault;
1313
FDisplayComponentNameIfNotFieldDisplay: Boolean;
14+
FShowOneErrorAtATime: Boolean;
1415
constructor Create;
1516
public
1617
class function GetInstance: TC4DValidateComponentsConfig;
1718
function Language: TLanguageDefault; overload;
1819
function Language(const Value: TLanguageDefault): TC4DValidateComponentsConfig; overload;
1920
function DisplayComponentNameIfNotFieldDisplay: Boolean; overload;
2021
function DisplayComponentNameIfNotFieldDisplay(const Value: Boolean): TC4DValidateComponentsConfig; overload;
22+
function ShowOneErrorAtATime: Boolean; overload;
23+
function ShowOneErrorAtATime(const Value: Boolean): TC4DValidateComponentsConfig; overload;
2124
end;
2225

2326
implementation
@@ -29,6 +32,7 @@ constructor TC4DValidateComponentsConfig.Create;
2932
begin
3033
FLanguage := TLanguageDefault.ptBR;
3134
FDisplayComponentNameIfNotFieldDisplay := True;
35+
FShowOneErrorAtATime := True;
3236
end;
3337

3438
class function TC4DValidateComponentsConfig.GetInstance: TC4DValidateComponentsConfig;
@@ -60,6 +64,17 @@ function TC4DValidateComponentsConfig.DisplayComponentNameIfNotFieldDisplay(cons
6064
FDisplayComponentNameIfNotFieldDisplay := Value;
6165
end;
6266

67+
function TC4DValidateComponentsConfig.ShowOneErrorAtATime: Boolean;
68+
begin
69+
Result := FShowOneErrorAtATime;
70+
end;
71+
72+
function TC4DValidateComponentsConfig.ShowOneErrorAtATime(const Value: Boolean): TC4DValidateComponentsConfig;
73+
begin
74+
Result := Self;
75+
FShowOneErrorAtATime := Value;
76+
end;
77+
6378
initialization
6479

6580
finalization

Src/C4D.Validate.Components.pas

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ class procedure TC4DValidateComponents.Validate(AInstanceClass: TComponentClass;
7474
MinMaxDate(LCustomAttribute).Validar(LRttiField, AForm);
7575
end;
7676

77-
if(TErros.GetInstance.HasErros)and(True)then
78-
Break
77+
if(TErros.GetInstance.HasErros)and(Self.Config.ShowOneErrorAtATime)then
78+
Break;
7979
end;
8080
finally
8181
LRttiContext.Free;

0 commit comments

Comments
 (0)