diff --git a/Pilz.UI.Telerik/Controls/RadValidationProvider/RadValidationProviderEx.cs b/Pilz.UI.Telerik/Controls/RadValidationProvider/RadValidationProviderEx.cs
index 7aa08ba..4816c23 100644
--- a/Pilz.UI.Telerik/Controls/RadValidationProvider/RadValidationProviderEx.cs
+++ b/Pilz.UI.Telerik/Controls/RadValidationProvider/RadValidationProviderEx.cs
@@ -1,4 +1,6 @@
-using System.ComponentModel;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
using System.Drawing.Design;
using System.Globalization;
using System.Reflection;
@@ -672,13 +674,33 @@ public class RadValidationProviderEx : Component, ISupportInitialize, IExtenderP
[Editor(DesignerConsts.RadValidationRuleEditorString, typeof(UITypeEditor))]
public void SetValidationRule(RadControl control, FilterDescriptor rule)
{
- var radValidationRule = rule as IRadValidationRuleEx;
- if (radValidationRule == null)
+ if (rule is not IRadValidationRuleEx radValidationRule)
RemoveControlFromRules(control);
else
- {
radValidationRule.AddControl(control);
- }
+ }
+
+ ///
+ /// Associates a validation rule with the specified RadControls descendant.
+ ///
+ /// A RadControl collection descendant that represents the editors.
+ /// A RadValidationRule descendant that represents the validation rule.
+ [Editor(DesignerConsts.RadValidationRuleEditorString, typeof(UITypeEditor))]
+ public void SetValidationRule(IEnumerable controls, FilterDescriptor rule)
+ {
+ SetValidationRule(controls.OfType(), rule);
+ }
+
+ ///
+ /// Associates a validation rule with the specified RadControls descendant.
+ ///
+ /// A RadControl collection descendant that represents the editors.
+ /// A RadValidationRule descendant that represents the validation rule.
+ [Editor(DesignerConsts.RadValidationRuleEditorString, typeof(UITypeEditor))]
+ public void SetValidationRule(IEnumerable controls, FilterDescriptor rule)
+ {
+ foreach (var control in controls)
+ SetValidationRule(control, rule);
}
///
diff --git a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
index a167f65..142f168 100644
--- a/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
+++ b/Pilz.UI.Telerik/Dialogs/RadFlyoutBase.cs
@@ -15,11 +15,13 @@ public partial class RadFlyoutBase : UserControl
protected TableLayoutPanel tableLayoutPanel_ActionPanel;
protected TableLayoutPanel tableLayoutPanel_TitlePanel;
protected RadLabel radLabel_Title;
- protected RadValidationProviderEx validationProvider = new();
public static RadSvgImage? CancelSvg { get; set; } = null;
public static RadSvgImage? ConfirmSvg { get; set; } = null;
+ [Browsable(false)]
+ public RadValidationProviderEx ValidationProvider { get; } = new();
+
[ReadOnly(true)]
public DialogResult Result { get; protected set; }
@@ -98,14 +100,11 @@ public partial class RadFlyoutBase : UserControl
}
}
- [Browsable(false)]
- public FilterDescriptorCollection ValidationRules => validationProvider.ValidationRules;
-
[DefaultValue(typeof(ValidationMode), "OnValidating")]
public ValidationMode ValidationMode
{
- get => validationProvider.ValidationMode;
- set => validationProvider.ValidationMode = value;
+ get => ValidationProvider.ValidationMode;
+ set => ValidationProvider.ValidationMode = value;
}
protected RadFlyoutBase()
@@ -264,7 +263,7 @@ public partial class RadFlyoutBase : UserControl
protected virtual bool ValidateOK()
{
- return validationProvider.ValidateAll();
+ return ValidationProvider.ValidateAll();
}
protected virtual void SetShowTitlePanel()
diff --git a/Pilz.UI.Telerik/Pilz.UI.Telerik.csproj b/Pilz.UI.Telerik/Pilz.UI.Telerik.csproj
index 54dd4ed..abad732 100644
--- a/Pilz.UI.Telerik/Pilz.UI.Telerik.csproj
+++ b/Pilz.UI.Telerik/Pilz.UI.Telerik.csproj
@@ -9,7 +9,7 @@
- 2.10.0
+ 2.10.1
True