Questo è il mio modello:O ErrorMessageString o ErrorMessageResourceName devono essere impostati, ma non entrambi errore utilizzando CreditCardAttribute
namespace MvcApplication2.Models
{
public class CreditCard
{
[CreditCard(ErrorMessageResourceType = typeof(Messages), ErrorMessageResourceName = "CardNumberInvalid")]
public string CardNumber { get; set; }
}
}
Questo è il mio Messages.resx:
Nome Valore
CardNumberInvalid controllare la scheda il numero è corretto
E questa è la mia opinione:
@model MvcApplication2.Models.CreditCard
@Html.TextBoxFor(m => m.CardNumber);
In MVC versione 3 questo funziona senza errori. In MVC 4, quando vado in questa pagina, ricevo un'escrizione che dice "O ErrorMessageString o ErrorMessageResourceName deve essere impostato, ma non entrambi". Questo sta accadendo solo con CreditCardAttribute. Altri attributi di convalida come RequiredAttribute funzionano correttamente. Ho solo impostato ErrorMessageResourceName. Non ho impostato ErrorMessageString, quindi non capisco cosa ho fatto di sbagliato. Qualcuno può aiutare, per favore?
Ho ricevuto lo stesso errore durante l'utilizzo della nuova annotazione di dati 'EmailAddress'. Questo ha risolto il problema con successo. Grazie! –
Ma ciò rimuoverà anche i messaggi di errore personalizzati impostati. Controlla la risposta di Ians per un modo infallibile! http://stackoverflow.com/a/16211476/268091 – MEMark
@MEMark questo era in risposta alla necessità di impostare un messaggio di errore direttamente dalla risorsa. Non sono sicuro di aver capito il riferimento a un messaggio di errore personalizzato. –