init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
47
Kreta.Core/CustomAttributes/AdoszamExtendedAttribute.cs
Normal file
47
Kreta.Core/CustomAttributes/AdoszamExtendedAttribute.cs
Normal file
|
@ -0,0 +1,47 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Kreta.Core.CustomAttributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
|
||||
public class AdoszamExtendedAttribute : DataTypeAttribute
|
||||
{
|
||||
public bool IsNullValid { get; }
|
||||
|
||||
public bool IsEmptyValid { get; }
|
||||
|
||||
public AdoszamExtendedAttribute(bool isNullValid = true, bool isEmptyValid = true) : base(DataType.Custom)
|
||||
{
|
||||
IsNullValid = isNullValid;
|
||||
IsEmptyValid = isEmptyValid;
|
||||
}
|
||||
|
||||
public override bool IsValid(object value)
|
||||
{
|
||||
//NOTE: Null esetében, az IsNullValid property értékétől függően térünk vissza, hogy valid-e vagy sem!
|
||||
if (value == null)
|
||||
{
|
||||
return IsNullValid;
|
||||
}
|
||||
|
||||
string valueAsString = value as string;
|
||||
|
||||
//NOTE: Ha nem sikerül string-é alakítani a nem null value-t, akkor rossz a value típusa, ezért nem lesz valid!
|
||||
if (valueAsString == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//NOTE: Üres string esetében, az IsEmptyValid property értékétől függően térünk vissza, hogy valid-e vagy sem!
|
||||
if (valueAsString == string.Empty)
|
||||
{
|
||||
return IsEmptyValid;
|
||||
}
|
||||
|
||||
//NOTE: Levalidáljuk a Regex alapján!
|
||||
Match match = new Regex(Constants.RegularExpressions.Adoszam).Match(valueAsString);
|
||||
return match.Success;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue