2012-01-25 15 views
5

cómo mostrar un mensaje de error personalizado paraCómo mostrar un mensaje de error personalizado para el atributo DisplayFormat En Asp.Net MVC?

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] 

El código en mi modelo está siguiendo,

[Display(Name = "When was that document issued?")] 
[DataType(DataType.Date, ErrorMessageResourceName = "DocumentIssueDate_DataType",ErrorMessageResourceType = typeof(CustomErrorMessages))] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] 
public DateTime? DocumentIssueDate { get; set; } 

en mi opinión, cuando entro en 201 en el cuadro de texto fecha de recibo el mensaje de error siguiente. ¿Cómo modifico el mensaje de error a continuación?

El valor '201' no es válido para DocumentIssueDate.

+1

¿Qué tienes para 'DocumentIssueDate_DataType'? – Eranga

+0

Un mensaje de cadena en el archivo de recursos (.resx). Por ej. "La fecha debe ingresarse como dd/mm/aaaa (por ejemplo, 31/01/1997)". –

Respuesta

0

Probar ver respuestas Here. Creo que DisplayFormat no está diseñado para la validación, es por eso que no puede usarlo para verificar si la cadena ingresada es válida.

2

Después de mucha investigación no tuve suerte. La única solución fue usar RegularExpression.

En lugar de utilizar:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] 

que puede utilizar:

[RegularExpression(@"^(3[01]|[12][0-9]|0[1-9])[-/](1[0-2]|0[1-9])[-/][0-9]{4}$", ErrorMessageResourceName = "Date Not Valid")] 

El RegularExpression coincide con el formato de fecha dd/MM/yyyy.

regulares todavía no prueba que sí, pero usted puede buscar y editar si es necesario

Cuestiones relacionadas