Files
lazarus-ccr/components/jvcllaz/examples/JvValidators/MainFrm.lfm
2019-05-25 14:09:05 +00:00

276 lines
8.0 KiB
Plaintext

object frmMain: TfrmMain
Left = 306
Height = 270
Top = 126
Width = 519
AutoSize = True
Caption = 'JvValidators demo'
ClientHeight = 270
ClientWidth = 519
Color = clBtnFace
DefaultMonitor = dmDesktop
Font.Color = clWindowText
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.1.0.0'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 16
Height = 15
Top = 16
Width = 167
BorderSpacing.Left = 16
BorderSpacing.Top = 16
Caption = 'This edit must have a(ny) value:'
FocusControl = edRequired
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = edRequired
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 66
Width = 233
BorderSpacing.Top = 8
Caption = 'This edit must have more than 9 characters:'
FocusControl = edRequired10Chars
ParentColor = False
end
object Label3: TLabel
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = edRequired10Chars
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 116
Width = 228
BorderSpacing.Top = 8
Caption = 'This edit must match the reg. expr."A.B.C.":'
FocusControl = edRegExpr
ParentColor = False
end
object Label4: TLabel
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = edRegExpr
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 162
Width = 201
BorderSpacing.Top = 8
Caption = 'The value must be between 0 and 100:'
FocusControl = edRange0to100
ParentColor = False
end
object Label5: TLabel
AnchorSideLeft.Control = edRequired10Chars
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label1
Left = 281
Height = 15
Top = 16
Width = 35
BorderSpacing.Left = 32
Caption = 'Result:'
ParentColor = False
end
object edRequired: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edRequired10Chars
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 35
Width = 233
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4
TabOrder = 0
end
object edRequired10Chars: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label2
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 85
Width = 233
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4
TabOrder = 1
end
object edRegExpr: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edRequired10Chars
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 131
Width = 233
Anchors = [akTop, akLeft, akRight]
TabOrder = 2
end
object edRange0to100: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = udRange0to100
Left = 16
Height = 23
Top = 181
Width = 212
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4
BorderSpacing.Right = 4
TabOrder = 3
Text = '-1'
end
object udRange0to100: TUpDown
AnchorSideRight.Control = edRequired10Chars
AnchorSideRight.Side = asrBottom
Left = 232
Height = 23
Top = 181
Width = 17
Anchors = [akTop, akRight]
Associate = edRange0to100
Max = 200
Min = -100
Position = -1
TabOrder = 4
end
object btnCheck: TButton
AnchorSideLeft.Control = btnValSum
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnProviderCheck
Left = 356
Height = 25
Top = 228
Width = 137
AutoSize = True
BorderSpacing.Left = 24
BorderSpacing.Right = 16
Caption = 'Use OnValidateFailed'
OnClick = btnCheckClick
TabOrder = 7
end
object btnProviderCheck: TButton
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = edRange0to100
AnchorSideTop.Side = asrBottom
Left = 16
Height = 25
Top = 228
Width = 130
AutoSize = True
BorderSpacing.Top = 24
BorderSpacing.Bottom = 16
Caption = 'Use JvErrorIndicator'
OnClick = btnProviderCheckClick
TabOrder = 5
end
object reResults: TMemo
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = edRequired
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = edRange0to100
AnchorSideBottom.Side = asrBottom
Cursor = crArrow
Left = 281
Height = 169
Top = 35
Width = 212
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Right = 16
Lines.Strings = (
'This is a demo for the JvValidators component as well as the JvErrorProvider and, to some extent, the JvValidationSummary component.'
''
'By creating and setting up different validators (at run-time in this demo but you can do it at design-time as well), the edit boxes can be checked for validity by a single call to the Validate method. When one of the validators finds that a control doesn''t match the validation criteria, that error can be handled in different ways depending on your needs.'
''
'One option is to just check the boolean return value from Validate and display a standard message box telling the user that a value didn''t match.'
''
'You can also handle the OnValidateFailed event of all validators at once (the TJvValidators event) or for each validator separately (the TJvBaseValidator event). Yet another option is to assign a TJvValidationSummary component to the ValidationSummary property of tJvValidators and handle it''s OnChange event.'
''
'Finally, you can combine the work of the validators with the use of a TJvErrorIndicator.'
''
'For more info on TJvErrorIndicator, see the demo for that component (also included).'
''
'By clicking any of the buttons below, you can see how the different methods described work in real-time.'
''
''
)
OnEnter = reResultsEnter
ParentColor = True
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 8
TabStop = False
WordWrap = False
end
object btnValSum: TButton
AnchorSideLeft.Control = btnProviderCheck
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnProviderCheck
Left = 170
Height = 25
Top = 228
Width = 162
AutoSize = True
BorderSpacing.Left = 24
Caption = 'Use JvValidationSummary'
OnClick = btnValSumClick
TabOrder = 6
end
object JvValidators1: TJvValidators
OnValidateFailed = JvValidators1ValidateFailed
left = 408
top = 24
object JvRequiredFieldValidator1: TJvRequiredFieldValidator
ControlToValidate = edRequired
PropertyToValidate = 'Text'
ErrorMessage = 'Value in edRequired cannot be empty'
AllowBlank = False
end
object JvCustomValidator1: TJvCustomValidator
ControlToValidate = edRequired10Chars
PropertyToValidate = 'Text'
ErrorMessage = 'Value in "edRequired10Chars" requires at least 10 characters'
OnValidate = JvCustomValidator1Validate
end
object JvRegularExpressionValidator1: TJvRegularExpressionValidator
ControlToValidate = edRegExpr
PropertyToValidate = 'Text'
ErrorMessage = 'Value in "edRegExpr" does not match "A.B.C."'
ValidationExpression = '^A.B.C.*'
end
object JvRangeValidator1: TJvRangeValidator
ControlToValidate = udRange0to100
PropertyToValidate = 'Position'
ErrorMessage = 'Value in "udRange0to100" must be between 0 and 100'
MinimumValue = 0
MaximumValue = 100
end
end
object JvErrorIndicator1: TJvErrorIndicator
ImageIndex = 0
DefaultUseAnchors = False
left = 408
top = 80
end
object JvValidationSummary1: TJvValidationSummary
OnChange = JvValidationSummary1Change
left = 408
top = 136
end
end