C# 使用Griffin.MvcContrib的RegularExpression消息错误
我正在使用Griffin.MvcContrib进行元数据消息错误验证 我已添加自定义验证以添加正则表达式验证:C# 使用Griffin.MvcContrib的RegularExpression消息错误,c#,regex,asp.net-mvc,resources,griffin.mvccontrib,C#,Regex,Asp.net Mvc,Resources,Griffin.mvccontrib,我正在使用Griffin.MvcContrib进行元数据消息错误验证 我已添加自定义验证以添加正则表达式验证: protected override IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable<Attribute> attributes) { List<ModelValidator> va
protected override IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable<Attribute> attributes) {
List<ModelValidator> vals = base.GetValidators(metadata, context, attributes).ToList();
//if (metadata.ModelType.Name == "DateTime")
if (metadata.DataTypeName == "telephone") {
DataAnnotationsModelValidationFactory factory;
RegularExpressionAttribute regex = new RegularExpressionAttribute(@"^(((\+?34([ |\-])?)|(\+?\(34\)([ |\-])?))?[9|6|7]((\d{1}([ |\-])?[0-9]{3})|(\d{2}([ |\-])?[0-9]{2}))([ |\-])?[0-9]{2}([ |\-])?[0-9]{2})$");
//regex.ErrorMessage = "Invalid date format";
if (!AttributeFactories.TryGetValue(regex.GetType(), out factory))
factory = DefaultAttributeFactory;
vals.Add(factory(metadata, context, regex));
}
return vals.AsEnumerable();
}
在资源中,我有下一个键
CommonPrompts_RegularExpression {0} fu
Phone_RegularExpression {0} fa
RegularExpression Incorrect Format
但它一直在向我传达这样的信息:
El campo[es:Phone]在正则表达式中的一致性“^+?34[|-]?+?34[|-]?[9 | 6 | 7]\d{1}[|-]?[0-9]{3}\d{2}[|-]?[0-9]{2}[|-]?[0-9]{2}[|-]?[0-9]{2}
我还添加了以下信息:
AgentDto_Phone_RegularExpression {0} regular
AgentCreateEditViewModel_AgentDto_Phone_RegularExpression {0} regular
没有任何运气
我需要在资源中添加什么来更改消息
AgentDto_Phone_RegularExpression {0} regular
AgentCreateEditViewModel_AgentDto_Phone_RegularExpression {0} regular