Rumah  >  Soal Jawab  >  teks badan

Dapatkan atribut maksimum tarikh jenis input

Saya cuba mengehadkan atribut maks input tarikh saya kepada cecair supaya ia berubah setiap tahun. Tidak berkod keras seperti sekarang.

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

Saya cuba pecahkan kepada:

  1. Dapatkan tarikh hari ini (16/02/2023)
  2. Tambah 1 tahun pada tarikh ini (16 Februari 2024)
  3. Tarikh terakhir untuk kembali ke Tahun Baru (31/12/2024)
  4. Tukar format atribut maksimum (2024-12-31)

Cuba 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;
    }

Cuba 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;
    }

Cuba 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");
      
    }

Setiap kali saya mencuba tetapi tidak berjaya, saya boleh memilih tarikh di luar julat ini. Mungkin ada kaitan dengan menukar format? apa patut saya buat?

P粉676588738P粉676588738202 hari yang lalu299

membalas semua(1)saya akan balas

  • P粉005105443

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

    Semuanya boleh dipekatkan kepada 1 baris kod:

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

    balas
    0
  • Batalbalas