首页 > 解决方案 > ASP .Net Core 日期范围验证

问题描述

我有一个场景,我需要允许用户只选择一个范围之间的日期。我的代码如下。如果Field.Name包含Date关键字,我会显示datepicker. 有没有办法可以验证if条件内的日期范围,或者我必须使用某种JS来验证?

<tbody>
    @for (int i = 0; i < Model.Fields.Count; i++)
    {
        <tr>
            <td>
                <div>
                    @{
                        if (Model.Fields[i].Name.ToString().Contains("Date"))
                        {
                            <input type="date" asp-for="Fields[i].Value" />
                        }
                        else
                        {
                            <input type="text" asp-for="Fields[i].Value" />
                        }
                    }
                </div>
            </td>
        </tr>
    }
</tbody>

任何指导都会有很大帮助..

标签: javascripthtmlasp.net-corerazor-pages

解决方案


首先,你可以参考,其次你可以使用 onchange="xxx"。这是一个工作演示:

看法:

<div id="div1">
    <input type="date" name="date1" id="date1" min="2020-01-01" max="2020-12-31"/>
    <input type="date" name="date2" id="date2" onchange="compare(this)" />
</div>
@section scripts{ 
<script>
    function compare(item) {
        if (new Date($(item).val()) > new Date("2020-7-14")) {
            $(item).attr("value", "");
            $("#date2").remove();
            var date2 = '<input type="date" name="date2" id="date2"  onchange="compare(this)" />';
            $("#div1").append(date2);
        }

    }
</script>

}

结果: 在此处输入图像描述


推荐阅读