2010-06-03 10 views
5

que estoy usando DA 4.0 con una aplicación MVC y han creado un validador personalizado como se muestra a continuación:DataAnnotations 4.0

public static ValidationResult NumberOfItems(int numItems, ValidationContext pValidationContext) 
{ 
    if (numItems == 1) 
    { 
     //Tag as critical error 
     //return new ValidationResult... 
    } 

    if (numItems > 1 && numItems <= 10) 
    { 
     //Tag as non critical error 
    } 

    //Else it's successful 
    return ValidationResult.Success; 
} 

me gustaría etiquetar un mensaje de error como un error crítico o no. Si no es un error crítico, me gustaría acceder a esto en mi opinión y presentarlo de una manera diferente.

Por lo tanto, hay 2 partes en este:

  1. fracasos de la etiqueta como diferentes tipos en el validador personalizado
  2. Modificar el ModelBinder predeterminado para identificar el error crítico

¿cómo lo haría ¿esta?

Respuesta

2

Ambas preguntas requieren volver a escribir un montón de códigos de manejo de errores internos de MVC. No hay una ruta fácil que pueda ver para agregar la gravedad del error a todos los lugares donde se produce la validación de ModelState y ViewModel.

La única respuesta a "¿Cómo puedo hacer esto?" es "con mucho código personalizado". ;)

+0

¿Qué sucede si no utilizo dataannotations y voy con un marco de validación diferente? –

+1

@Dave Schilling Entonces necesita hacer una pregunta diferente. ;) – jfar

Cuestiones relacionadas