es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, necesitas crear una clase personalizada que herede de la clase ValidationResult y agregue una nueva propiedad para el código de error. Aquí tienes un ejemplo de implementación:

    public class CustomValidationResult : ValidationResult
    {
        public string ErrorCode { get; set; }
    
        public CustomValidationResult(string errorMessage, string errorCode)
            : base(errorMessage)
        {
            ErrorCode = errorCode;
        }
    
        public CustomValidationResult(string errorMessage, IEnumerable<string> memberNames, string errorCode)
            : base(errorMessage, memberNames)
        {
            ErrorCode = errorCode;
        }
    }
    

    En el método Validate del modelo, puedes crear una instancia de este resultado de validación personalizado y devolverlo en lugar del ValidationResult regular:

    public IEnumerable<validationresult> Validate(ValidationContext validationContext)
    {
        // realizar validaciones comerciales
    
        if (validacionFallida)
        {
            yield return new CustomValidationResult("Este es el mensaje de error", "ERR001");
        }
    }
    

    Al hacer esto, puedes incluir información adicional sobre el error en la propiedad ErrorCode del resultado de validación, lo cual puede ser útil para registrar, rastrear y procesar los errores de validación.

Comments are closed.