У меня есть модель, в которой я хотел бы проверить правильность строки.
Сначала я проверяю, содержит ли строка только цифры, эта часть работает. После этого я хотел бы сделать еще одну проверку, чтобы убедиться, что сумма чисел верна.
Последняя часть не работает. 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));