RangeAttribute Class

Definition

Specifies the numeric range constraints for the value of a data field.

public ref class RangeAttribute : System::ComponentModel::DataAnnotations::ValidationAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)]
public class RangeAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public class RangeAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)>]
type RangeAttribute = class
    inherit ValidationAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type RangeAttribute = class
    inherit ValidationAttribute
Public Class RangeAttribute
Inherits ValidationAttribute
Inheritance
Attributes

Examples

The following example shows how to use the RangeAttribute to customize formatting for a data field. The example performs the following steps:

  • Implements a metadata partial class and the associated metadata class.

  • In the associated metadata class, it applies the RangeAttribute attribute to obtain the following results:

    • Apply the attribute to a data field of type integer.

    • Apply the attribute to an integer data field and define a custom validation error message.

    • Apply the attribute to a DateTime data field and define a custom validation error message.

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

[MetadataType(typeof(ProductMetaData))]
public partial class Product
{
}

public class ProductMetaData
{
    
    [Range(10, 1000, 
        ErrorMessage = "Value for {0} must be between {1} and {2}.")]
    public object Weight;

    [Range(300, 3000)]
    public object ListPrice;

    [Range(typeof(DateTime), "1/2/2004", "3/4/2004",
        ErrorMessage = "Value for {0} must be between {1} and {2}")]
    public object SellEndDate;
}
Imports System.Web.DynamicData
Imports System.ComponentModel.DataAnnotations
Imports System.ComponentModel

<MetadataType(GetType(ProductMetaData))> _
Partial Public Class Product

End Class


Public Class ProductMetaData
    
    <Range(10, 1000, _
           ErrorMessage:="Value for {0} must be between {1} and {2}.")> _
    Public Weight As Object

    <Range(300, 3000)> _
    Public ListPrice As Object

    <Range(GetType(DateTime), "1/2/2004", "3/4/2004", _
           ErrorMessage:="Value for {0} must be between {1} and {2}")> _
    Public SellEndDate As Object

End Class

To compile the example, you need the following:

  • Microsoft Visual Studio 2008 Service Pack 1 or Visual Web Developer 2008 Express Edition SP1.

  • A data-driven Web site. This enables you to create a data context for the database and the class that contains the data field to customize. For more information, see Walkthrough: Creating a New Dynamic Data Web Site using Scaffolding.

Remarks

When you apply this attribute to a data field, you must follow the guidelines for how to use validation attributes. For more information, see ASP.NET Dynamic Data Guidelines.

Constructors

RangeAttribute(Double, Double)

Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values.

RangeAttribute(Int32, Int32)

Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values.

RangeAttribute(Type, String, String)

Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values and the specific type.

Properties

ConvertValueInInvariantCulture

Gets or sets a value that determines whether any conversions of the value being validated to OperandType as set by the type parameter of the RangeAttribute(Type, String, String) constructor use the invariant culture or the current culture.

ErrorMessage

Gets or sets an error message to associate with a validation control if validation fails.

(Inherited from ValidationAttribute)
ErrorMessageResourceName

Gets or sets the error message resource name to use in order to look up the ErrorMessageResourceType property value if validation fails.

(Inherited from ValidationAttribute)
ErrorMessageResourceType

Gets or sets the resource type to use for error-message lookup if validation fails.

(Inherited from ValidationAttribute)
ErrorMessageString

Gets the localized validation error message.

(Inherited from ValidationAttribute)
Maximum

Gets the maximum allowed field value.

MaximumIsExclusive

Specifies whether validation should fail for values that are equal to Maximum.

Minimum

Gets the minimum allowed field value.

MinimumIsExclusive

Specifies whether validation should fail for values that are equal to Minimum.

OperandType

Gets the type of the data field whose value must be validated.

ParseLimitsInInvariantCulture

Gets or sets a value that determines whether string values for Minimum and Maximum are parsed using the invariant culture rather than the current culture.

RequiresValidationContext

Gets a value that indicates whether the attribute requires validation context.

(Inherited from ValidationAttribute)
TypeId

When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
FormatErrorMessage(String)

Formats the error message that is displayed when range validation fails.

GetHashCode()

Returns the hash code for this instance.

(Inherited from Attribute)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValidationResult(Object, ValidationContext)

Checks whether the specified value is valid with respect to the current validation attribute.

(Inherited from ValidationAttribute)
IsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
IsValid(Object)

Checks that the value of the data field is in the specified range.

IsValid(Object, ValidationContext)

Validates the specified value with respect to the current validation attribute.

(Inherited from ValidationAttribute)
Match(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
Validate(Object, String)

Validates the specified object.

(Inherited from ValidationAttribute)
Validate(Object, ValidationContext)

Validates the specified object.

(Inherited from ValidationAttribute)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to