Validator.TryValidateObject Method

Definition

Determines whether the specified object is valid.

Overloads

TryValidateObject(Object, ValidationContext, ICollection<ValidationResult>)

Determines whether the specified object is valid using the validation context and validation results collection.

TryValidateObject(Object, ValidationContext, ICollection<ValidationResult>, Boolean)

Determines whether the specified object is valid using the validation context, validation results collection, and a value that specifies whether to validate all properties.

TryValidateObject(Object, ValidationContext, ICollection<ValidationResult>)

Source:
Validator.cs
Source:
Validator.cs
Source:
Validator.cs

Determines whether the specified object is valid using the validation context and validation results collection.

C#
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> validationResults);
C#
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults);

Parameters

instance
Object

The object to validate.

validationContext
ValidationContext

The context that describes the object to validate.

validationResults
ICollection<ValidationResult>

A collection to hold each failed validation.

Returns

true if the object validates; otherwise, false.

Exceptions

instance is null.

instance doesn't match the ObjectInstanceon validationContext.

Remarks

This method evaluates each ValidationAttribute instance that is attached to the object type. It also checks whether each property that is marked with RequiredAttribute is provided. It does not recursively validate the property values of the object.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided), 2.1 (package-provided)
UWP 10.0

TryValidateObject(Object, ValidationContext, ICollection<ValidationResult>, Boolean)

Source:
Validator.cs
Source:
Validator.cs
Source:
Validator.cs

Determines whether the specified object is valid using the validation context, validation results collection, and a value that specifies whether to validate all properties.

C#
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> validationResults, bool validateAllProperties);
C#
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, bool validateAllProperties);

Parameters

instance
Object

The object to validate.

validationContext
ValidationContext

The context that describes the object to validate.

validationResults
ICollection<ValidationResult>

A collection to hold each failed validation.

validateAllProperties
Boolean

true to validate all properties; if false, only required attributes are validated.

Returns

true if the object validates; otherwise, false.

Exceptions

instance is null.

instance doesn't match theObjectInstanceon validationContext.

Remarks

This method evaluates each ValidationAttribute instance that is attached to the object type. It also checks whether each property that is marked with RequiredAttribute is provided. It validates the property values of the object if validateAllProperties is true but does not recursively validate properties of the objects returned by the properties.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided), 2.1 (package-provided)
UWP 10.0