46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
|
7 years ago
|
using System;
|
||
|
|
|
||
|
8 years ago
|
namespace Yavsc.Attributes.Validation
|
||
|
|
{
|
||
|
|
public class YaStringLength: YaValidationAttribute
|
||
|
|
{
|
||
|
|
public long MinLen { get; set; } = -1;
|
||
|
|
private long maxLen;
|
||
|
|
public YaStringLength(long maxLen) : base(
|
||
|
7 years ago
|
()=>
|
||
|
|
"BadStringLength")
|
||
|
8 years ago
|
{
|
||
|
|
this.maxLen = maxLen;
|
||
|
|
}
|
||
|
|
|
||
|
7 years ago
|
private long excedent=0;
|
||
|
|
private long manquant=0;
|
||
|
8 years ago
|
|
||
|
|
public override bool IsValid(object value) {
|
||
|
7 years ago
|
|
||
|
8 years ago
|
if (value == null) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
7 years ago
|
|
||
|
8 years ago
|
string stringValue = value as string;
|
||
|
|
if (stringValue==null) return false;
|
||
|
|
if (MinLen>=0)
|
||
|
|
{
|
||
|
|
if (stringValue.Length<MinLen)
|
||
|
|
{
|
||
|
|
manquant = MinLen-stringValue.Length;
|
||
|
|
}
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
if (maxLen>=0)
|
||
|
|
{
|
||
|
|
if (stringValue.Length>maxLen) {
|
||
|
|
excedent = stringValue.Length-maxLen;
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return true;
|
||
|
|
}
|
||
|
7 years ago
|
|
||
|
8 years ago
|
}
|
||
|
|
}
|