61 lines
1.1 KiB
C#
61 lines
1.1 KiB
C#
using SocialPub.ClientModels.Resources;
|
||
|
||
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace SocialPub.ClientModels.ValidatorAttributes
|
||
{
|
||
[AttributeUsage(AttributeTargets.Property)]
|
||
public class NoWhiteSpacesAttribute : ValidationAttribute
|
||
{
|
||
const string errorMessageResourceName = "EmptySpacesNotAllowed";
|
||
readonly Type errorMessageResourceType = typeof(ErrorsResource);
|
||
readonly string[] spaces = new[] {
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
};
|
||
|
||
public NoWhiteSpacesAttribute()
|
||
{
|
||
ErrorMessageResourceName = errorMessageResourceName;
|
||
ErrorMessageResourceType = errorMessageResourceType;
|
||
}
|
||
|
||
public override bool IsValid(object value)
|
||
{
|
||
var str = value?.ToString();
|
||
if (string.IsNullOrEmpty(str))
|
||
return true;
|
||
|
||
var hasWhiteSpace = false;
|
||
try
|
||
{
|
||
foreach (var space in spaces)
|
||
{
|
||
hasWhiteSpace = str.Contains(space);
|
||
if (hasWhiteSpace) break;
|
||
}
|
||
|
||
return !hasWhiteSpace;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Console.WriteLine(ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
}
|