我有一个要检查字符串是否有效的模型。
我首先检查字符串是否仅包含数字,这部分有效。之后,我想再次检查一下数字的总和是否正确。
最后一部分不起作用。 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);
}
}
全局,应用程序启动
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(ValidImeiAttribute), typeof(RegularExpressionAttributeAdapter));