IsValid () не запускается при проверке модели MVC с использованием RegularExpressionAttribute - PullRequest
1 голос
/ 14 марта 2019

У меня есть модель, в которой я хотел бы проверить правильность строки.

Сначала я проверяю, содержит ли строка только цифры, эта часть работает. После этого я хотел бы сделать еще одну проверку, чтобы убедиться, что сумма чисел верна.

Последняя часть не работает. IsValid () никогда не срабатывает .

Модель:

    [ValidImei]
    string Imei { get; set; }

Проверка атрибута

[AttributeUsage(AttributeTargets.Property)]
public class ValidImeiAttribute : RegularExpressionAttribute
{

    public ValidImeiAttribute() : base(@"^\d+$")
    {
        ErrorMessage = ValidationMessage.InvalidImeiOnlyNumbersAllowed;
    }

    public override bool IsValid(object value)
    {

        // THIS CODE IS NEVER TRIGGERED?
        var isRegexValid = base.IsValid(value);
        if (!isRegexValid)
        {
            return false;
        }

        var imei = value as string;

        var validator = NinjectWebCommon.Kernel.Get<IImeiValidator>();

        string errorMessage;
        return validator.IsValid(imei, out errorMessage);

    }
}

Global, запуск приложения

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(ValidImeiAttribute), typeof(RegularExpressionAttributeAdapter));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...