在 Android 上输入日期

问题描述 投票:0回答:1

我有一个 .Net Maui Blazor 混合和 Web 应用程序。 我面临的挑战是,当我在 Windows 和浏览器中运行该解决方案时,我可以在 InputDate 字段中键入日期,但在 Android 上它不允许我键入日期,它迫使我选择来自日期选择器的日期。

我希望能够输入日期的原因是,如果用户出生于 1969 年,则需要大量滚动才能找到正确的年份。

 <div class="row">
 <div class="col-2">
     <label class="col-form-label">Date of Birth</label>
 </div>
 <div class=" col-4">
     <InputDate @bind-Value="customer.DateOfBith"></InputDate>
 </div>
 </div>     
blazor hybrid maui-blazor
1个回答
0
投票

您可以使用标准并应用自定义验证来代替 ,以确保日期格式正确。

<div class="row">
<div class="col-2">
    <label class="col-form-label">Date of Birth</label>
</div>
<div class="col-4">
    <InputText @bind-Value="customer.DateOfBirthString" @oninput="ValidateDate"></InputText>
    <div class="text-danger">@dateErrorMessage</div>
</div>

@代码{ 私有字符串?日期错误消息;

public string? customer.DateOfBirthString { get; set; }

private void ValidateDate(ChangeEventArgs e)
{
    var inputValue = e.Value?.ToString();
    if (DateTime.TryParse(inputValue, out var parsedDate))
    {
        customer.DateOfBith = parsedDate;
        dateErrorMessage = null;
    }
    else
    {
        dateErrorMessage = "Invalid date format. Please enter a valid date.";
    }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.