Tengo un DateTime ya que este es C#:
public DateTime ShipmentDate { get; set; }Muestro el valor en el cuadro de texto.
Esto está en cshml:
<div class="col-sm-2"> <label for="ShipmentDate">Shipment Date:</label><br /> <input type="text" name="ShipmentDate" id="ShipmentDate" disabled="disabled" /> </div>Y esto es en JavaScript:
$('#ShipmentDate').val($.formatDate(PurchaseOrder.ShipmentDate));Cuando ShipmentDate es anulable así:
public DateTime? ShipmentDate { get; set; }y la fecha está vacía, muestra una fecha aleatoria como 31/12/1960 en el cuadro de texto
Cuando ShipmentDate no es anulable muestra la fecha como: 1/1/0001 en el cuadro de texto
En ambos, en C#, la fecha es nula y cuando lo hago, console.log muestra nulo en la consola. Cómo puedo mostrar una cadena vacía en el cuadro de texto cuando ShipmentDate en Null.
Dado que el valor de PurchaseOrder.ShipmentDate puede ser nulo, vale la pena manejar este caso para que $.formatDate(null) no devuelva una fecha no válida como se notó.
En Javascript, si una variable es null , se trata como un valor falso. Por lo tanto, solo ejecuta formatDate si el ship no es uno de los muchos valores falsos , incluido null .
const ship = PurchaseOrder.ShipmentDate; $('#ShipmentDate').val(ship ? $.formatDate(ship) : "");