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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|