я не могу найти, как ограничить атрибуты модели данных просто "S" или "P" - PullRequest
0 голосов
/ 12 апреля 2019

Хотите установить атрибут для поля в моей таблице для ввода с ограничением двух «S» или «P».

Я не могу найти, как ты это сделал. Я применил ваш класс StringRangeAttribute, и он прекрасно работает, когда я ввожу правильный ответ. Но если я добавляю фиктивный неверный ответ для его проверки, он возвращает приглашение, требующее допустимого ответа, но очищает свойство навигации другого поля на той же странице. Затем я могу ввести правильный ответ, но не могу сохранить, потому что я ничего не могу ввести в свойство навигации. Я уверен, что это когда isvalid ложно, но я не понимаю, что происходит, и не могу найти проблему.

    if (AllowableValues?.Contains(value?.ToString()) == true)
        {
            return ValidationResult.Success;
        }

        var msg = $"Please enter one of the allowable values:                                     
        {string.Join(", ", (AllowableValues ?? new string[] { "No 
        allowable 
        values found" }))}.";
        return new ValidationResult(msg);
    }

1 Ответ

0 голосов
/ 13 апреля 2019

Вы должны создать собственный атрибут ValidationAttribute. Вот вам ответ , который вам поможет.

...