Cómo realizar esta validación en ASP.NET MVC: si el campo FromDate tiene un valor, solo entonces, el campo EndDate también debe tener un valor

Realmente aprecio tu entusiasmo por aprender y practicar escribir código. Por favor continúe de esta manera.

Aquí está su código, pero únase a StackOverflow y pregunte allí. No me escala responder estas preguntas.

clase EndDateAttribute: ValidationAttribute
{
cadena privada _startDatePropertyName = nulo;

public EndDateAttribute (string startDatePropertyName): base ()
{
_startDatePropertyName = startDatePropertyName;
}

invalidación protegida ValidationResult IsValid (valor del objeto, ValidationContext validationContext)
{
var startDateProperty = validationContext.ObjectType.GetProperty (_startDatePropertyName);

if (startDateProperty == null)
{
return new ValidationResult ($ “No existe ninguna propiedad llamada {_startDatePropertyName} en su modelo”);
}

var startDateValue = (DateTime?) startDateProperty.GetValue (validationContext.ObjectInstance);
var endDateValue = (DateTime?) valor;

if (startDateValue.HasValue &&! endDateValue.HasValue)
{
return new ValidationResult ($ “El campo {validationContext.MemberName} debe tener un valor”);
}

volver nulo;
}
}

Luego, aplica solo EndDateAttribute a alguna propiedad del modelo de esta manera:

clase MyModel
{
fecha y hora pública? StartDate {get; conjunto; }

[EndDate (“StartDate”)]
fecha y hora pública? EndDate {get; conjunto; }
}

Para el escenario que desea, debe usar la Validación personalizada en ASP.NET, y se puede implementar tanto en el lado del cliente usando JavaScript como en el lado del servidor usando los controles de servidor C # y ASP.NET.
Para más detalles, consulte estos enlaces:
Validación personalizada de ASP.NET La validación del lado del cliente y del lado del servidor no se activa
Control de Validación Personalizado

More Interesting

Cambié la URL del sitio en WordPress y ahora hay una gran sobrecarga de memoria que bloquea el servidor MYSQL. ¿Cómo puedo arreglar esto?

Cómo hacer que un programa Python se inicie en el mismo punto después de matarlo

Hice un sitio para un cliente que ahora necesita que transfiera su dominio al host de un nuevo diseñador. ¿La mejor manera de hacerlo? Cualquier ayuda es apreciada.

Estoy probando una aplicación de chat basada en JSP y Java Servlet y he enumerado a todos los usuarios en línea e hice una ventana de chat, pero tuve problemas para obtener una respuesta de un usuario a otro. ¿Cuál es la solución?

¿Sé CSS y puedo construir un sitio receptivo? ¿Por qué debería aprender Bootstrap?

Si quiero hacer la misma aplicación web usando ReactJS y AngularJS, ¿cuál será más rápido?

Estoy construyendo un sitio web que implicará trabajar con una gran base de datos. ¿Cuáles son las cosas que debo aprender para administrar la base de datos?

Necesito obtener algún tipo de concierto de programador / desarrollador. ¿Cuál es el mejor curso de acción para llegar allí?

Tenía muchas ganas de aprender programación de computadoras. Sé un mínimo de HTML y CSS. ¿Qué idioma debería aprender realmente para hacer cosas geniales?

Cómo eliminar una imagen de una base de datos y una carpeta SRC en PHP

Estoy a la mitad del aprendizaje de Python. ¿Cuándo debería comenzar a jugar con Django?

Quiero crear una aplicación web similar a Pinterest, ¿hay alguna forma de obtener y mostrar imágenes sin almacenarlas en mi propio servidor?

Si creo un proyecto de código abierto en Github para solicitar contribuciones de la comunidad, ¿puedo decidir comercializarlo después?

Cómo elegir el proveedor de alojamiento web adecuado

Aprendí desarrollo web. ¿Qué debería aprender a continuación?