Mercurial > pub > bltoolkit
comparison Source/Validation/MaxLengthAttribute.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f990fcb411a9 |
---|---|
1 using System; | |
2 | |
3 namespace BLToolkit.Validation | |
4 { | |
5 [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] | |
6 public class MaxLengthAttribute : ValidatorBaseAttribute | |
7 { | |
8 public MaxLengthAttribute(int maxLength) | |
9 { | |
10 _value = maxLength; | |
11 } | |
12 | |
13 public MaxLengthAttribute(int maxLength, string errorMessage) | |
14 : this(maxLength) | |
15 { | |
16 ErrorMessage = errorMessage; | |
17 } | |
18 | |
19 private readonly int _value; | |
20 public int Value | |
21 { | |
22 get { return _value; } | |
23 } | |
24 | |
25 public override bool IsValid(ValidationContext context) | |
26 { | |
27 return context.IsNull(context) || context.Value.ToString().Length <= _value; | |
28 } | |
29 | |
30 public override string ErrorMessage | |
31 { | |
32 get { return base.ErrorMessage ?? "'{0}' maximum length is {1}."; } | |
33 set { base.ErrorMessage = value; } | |
34 } | |
35 | |
36 public override string GetErrorMessage(ValidationContext context) | |
37 { | |
38 return string.Format(ErrorMessage, GetPropertyFriendlyName(context), Value); | |
39 } | |
40 } | |
41 } |