Quantcast
Channel: ASPNETWebStack Issue Tracker Rss Feed
Viewing all articles
Browse latest Browse all 7215

Edited Unassigned: Using Resource File Error Messages Fails With Data Annotations Attributes [1535]

$
0
0
Porting from https://aspnet.codeplex.com/workitem/8175:

The additional data annotations attributes included in MVC 3 Futures (CreditCard, EmailAddress, FileExtension, Url) do not work when using a Resource File Property. For example, using the attribute [Email(ErrorMessageResourceName = "ErrorMessage", ErrorMessageResourceType = typeof(Resource1))] fails at runtime with the following error: "Either ErrorMessageString or ErrorMessageResourceName must be set, but not both". This occurs because a default ErrorMessage is being set in the attribute constructors, so when the user adds a resource error message the FormatErrorMessage() base class method doesn't know which to use. I believe the fix would be to take the default error message out of the constructor and override the FormatErrorMessage() method of the base class, and augment it by setting the default ErrorMessage only if no message (either a static string or resource file) has been provided.

public override string FormatErrorMessage(string name)
{
if (ErrorMessage == null && ErrorMessageResourceName == null)
{
ErrorMessage = ValidatorResources.CreditCardAttribute_Invalid; //default error
}
return base.FormatErrorMessage(name);
}


comments



notworking wrote Sep 2, 2012 at 9:41 AM


[EmailAddress(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "email_not_valid", ErrorMessage = null)]
can help until issue not resolved



RonaldEvers wrote Oct 19, 2012 at 4:43 PM


Sorry, your suggested solution ('notworking wrote Sep 2 at 6:41 PM') doesn't work at my side.



danroth27 wrote Thu at 10:12 AM


Still repros on MVC 5

Viewing all articles
Browse latest Browse all 7215

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>