public override IEnumerable <ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context)
{
var allValidators = base.GetValidators(metadata, context);
var validators = new List <ModelValidator>();
foreach (var v in allValidators)
{
//如果不是系统默认的数字验证类,则用系统的
if (v.GetType().Name != "NumericModelValidator")
{
validators.Add(v);
}
else
{
//用自定义替换系统的数字验证
var attribute = new NumericAttribute {
ErrorMessage = TranslationHelper.L("Custom.NumericModelValidator")
};
var validator = new DataAnnotationsModelValidator(metadata, context, attribute);
validators.Add(validator);
}
}
return(validators);
}