Skip to main content
All docs
V25.1
  • .NET Framework 4.6.2+

    Validator.GetService(IServiceProvider) Method

    Takes an IServiceProvider instance as a parameter and returns an instance of IRuleSet.

    Namespace: DevExpress.Persistent.Validation

    Assembly: DevExpress.Persistent.Base.v25.1.dll

    Declaration

    public static IRuleSet GetService(
        IServiceProvider serviceProvider
    )

    Parameters

    Name Type Description
    serviceProvider IServiceProvider

    An object that implements the IServiceProvider interface.

    Returns

    Type Description
    IRuleSet

    An object that implements the IRuleSet interface.

    Remarks

    Use this method to access an object that implements the IRuleSet interface. Refer to the IRuleSet topic for more information.

    The GetService method can be used in both .NET applications and older .NET Framework applications to access IRuleSet. In .NET Framework applications, this method accepts null as the serviceProvider parameter (the XafApplication.ServiceProvider property always returns null under .NET Framework).

    Example

    The following code snippet demonstrates how to use the Validator.GetService method to access an IRuleSet instance and use it to trigger validation against a specific object and context, and then handle the result:

    File: MySolution.Module.Controllers.MyController.cs

    using DevExpress.Persistent.Validation;
    // ...
    namespace MySolution.Module.Controllers;
    public partial class MyController : ViewController {
        // ...
        protected override void OnActivated() {
            base.OnActivated();
            RuleSetValidationResult result = Validator.GetService(Application.ServiceProvider).ValidateTarget(
                View.ObjectSpace, 
                View.CurrentObject, 
                "MyContext"
            );
            if (result.ValidationOutcome > ValidationOutcome.Information)
                ((Contact)View.CurrentObject).Notes += "[Validation Error] " + result.Results[0].ErrorMessage;
        }
    }
    
    See Also