Валидация формы на уникальное Имя

273
16 января 2019, 05:10

Хочу провалидировать с помощью своего собственного аттрибута форму.

Вот код:

public sealed class UniqueUserNameAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        string userName = value.ToString();
        var task = Task.Factory.StartNew(async () =>
        {
            var user = await Managment.UserManager.FindByNameAsync(userName);
            return user;
        });
        task.Wait();
        var taskUser = task.Result;
        var validResult = Task.Factory.StartNew(() =>
        {
            var resUser = taskUser.Result;
            if (resUser != null)
            {
                ErrorMessage = $"Name {userName} is already used";
                return false;
            }
            return true;
        });
        validResult.Wait();
        var isValid = validResult.Result;
        return isValid;
    }
}

но по каким-то причинам у меня вылетает исключение типа

AggregateException: One or more errors occurred. (One or more errors occurred. (Object reference not set to an instance of an object.))
System.Threading.Tasks.Task.Wait(int millisecondsTimeout, CancellationToken cancellationToken)
NullReferenceException: Object reference not set to an instance of an object.
csharpcourse.Areas.UniqueUserNameAttribute+<>c__DisplayClass0_0+<<IsValid>b__0>d.MoveNext() in UniqueUserNameAttribute.cs, line 16

Место в котором вылетает исключение:

validResult.Wait()

Использую в моделе так:

[UniqueUserName]
public string UserName { get; set; }
READ ALSO
Как в конкретной строчке файла изменить текст до символа?

Как в конкретной строчке файла изменить текст до символа?

У меня есть файл с кодом на CНеобходимо найти там 100 строчку, это будет вызов функции

275
windows form, visualstyler

windows form, visualstyler

я использую Visual Studio, работаю Windows Forms стиль с visualstyle, который называется Fresco (FrescoB2)При нажатии на любую кнопку выделятся текст, очень не красиво...

205
Кольцевой односвязанный список C#

Кольцевой односвязанный список C#

Необходимо было реализовать кольцевой списокСделал через методы расширения

250