StringLengthAttribute Class

Definition

Specifies the minimum and maximum length of characters that are allowed in a data field.

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

Examples

The following example shows how to limit the number of characters in a field. This example works with the ThumbnailPhotoFileName field in the Products table in the AdventureWorksLT database. The field is limited 4 characters by applying the StringLengthAttribute attribute to the partial class that represents the Product entity.

[MetadataType(typeof(ProductMetadata))]  
public partial class Product  
{  

}  

public class ProductMetadata  
{  

    [ScaffoldColumn(true)]  
    [StringLength(4, ErrorMessage = "The ThumbnailPhotoFileName value cannot exceed 4 characters. ")]  
    public object ThumbnailPhotoFileName;  

    [ScaffoldColumn(true)]  
    [StringLength(4, ErrorMessage = "The {0} value cannot exceed {1} characters. ")]  
    public object PhotoFileName;  

}  
<MetadataType(GetType(ProductMetadata))> _   
Public Partial Class Product   

End Class   

Public Class ProductMetadata   

    <ScaffoldColumn(True)> _   
    <StringLength(4, ErrorMessage := "The ThumbnailPhotoFileName value cannot exceed 4 characters. ")> _   
    Public ThumbnailPhotoFileName As Object   

    <ScaffoldColumn(True)> _   
    <StringLength(4, ErrorMessage := "The {0} value cannot exceed {1} characters. ")> _   
    Public PhotoFileName As Object   

End Class  

Remarks

ASP.NET Dynamic Data enables CRUD (Create, Read, Update and Delete) operations in a data model. You can specify the minimum and maximum length of characters for each field when data is being inserted or updated. For character data types, the MinimumLength and MaximumLength properties identify the largest number of bytes that are required in order to store a string.

You can use composite formatting placeholders in the error message: {0} is the name of the property; {1} is the maximum length; and {2} is the minimum length. The placeholders correspond to arguments that are passed to the String.Format method at runtime.

Constructors

StringLengthAttribute(Int32)

Initializes a new instance of the StringLengthAttribute class by using a specified maximum length.

Properties

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)
MaximumLength

Gets or sets the maximum length of a string.

MinimumLength

Gets or sets the minimum length of a string.

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)

Applies formatting to a specified error message.

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)

Determines whether a specified object is valid.

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