Heim  >  Fragen und Antworten  >  Hauptteil

Rufen Sie das maximale Attribut des Eingabetyps „Datum“ ab

Ich versuche, mein maximales Attribut für die Datumseingabe auf „Fluid“ zu beschränken, sodass es sich jedes Jahr ändert. Nicht so fest codiert wie jetzt.

Jetzt: <input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="2024-12-31" />

Ich versuche es zu unterteilen in:

  1. Holen Sie sich das heutige Datum (16.02.2023)
  2. Fügen Sie 1 Jahr zu diesem Datum hinzu (16. Februar 2024)
  3. Letzter Termin für die Rückkehr ins neue Jahr (31.12.2024)
  4. Ändern Sie das Format des Max-Attributs (31.12.2024)

Versuchen Sie 1:

<input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@GetNextYear-12-31" />

 private int GetNextYear()
    {
        DateTime thisyearaddone = DateTime.Today.AddYears(1);
        int nextyear = thisyearaddone.Year;
    
        return nextyear;
    }

Versuch 2:

<input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@GetNextYearDate" />

 private DateTime GetNextYear()
    {
        DateTime thisyearaddone = DateTime.Today.AddYears(1);
        int nextyear = thisyearaddone.Year;
        DateTime maxretireddate = new DateTime(nextyear, 12, 31);
        return maxretireddate;
    }

Versuchen Sie 3:

public string MaxRetiredDate;

 <input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@MaxRetiredDate" onclick="@GetMaxRetiredDate" />

private void GetMaxRetiredDate()
    {
        DateTime NextYearDate = DateTime.Today.AddYears(1);
        int NextYearInt = NextYearDate.Year;
        DateTime MaxRetiredDate = new DateTime(NextYearInt, 12, 31);
        MaxRetiredDate.ToString("yyyy-mm-dd");
      
    }

Jedes Mal, wenn ich es erfolglos versuche, kann ich ein Datum außerhalb dieses Bereichs auswählen. Vielleicht etwas mit der Formatänderung zu tun? was soll ich machen?

P粉676588738P粉676588738202 Tage vor303

Antworte allen(1)Ich werde antworten

  • P粉005105443

    P粉0051054432024-03-31 14:27:20

    整个事情可以压缩为 1 行代码:

    public string MaxRetiredDate = $"{(DateTime.Today.AddYears(1)).Year}-12-31";
    
    

    Antwort
    0
  • StornierenAntwort