.net – Textboxfor mvc3日期格式和日期验证

前端之家收集整理的这篇文章主要介绍了.net – Textboxfor mvc3日期格式和日期验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经决定开始使用MVC 3,当我尝试重新调整我的一个Web应用程序到MVC3时遇到这个问题.

我有这样的项目设置:

public class Project
{
    public int      ProjectID       { get; set; }

    [required(ErrorMessage="A name is required")]
    public string   Name            { get; set; }

    [DisplayName("Team")]
    [required(ErrorMessage="A team is required")]
    public int      TeamId          { get; set; }

    [DisplayName("Start Date")]
    [required(ErrorMessage="A Start Date is required")]
    [DisplayFormat(ApplyFormatInEditMode=true,DataFormatString="{0:d}")]
    public DateTime StartDate       { get; set; }

    [DisplayName("End Date")]
    [required(ErrorMessage="An End Date is required")]
    [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:d}")]
    public DateTime EndDate         { get; set; }
}

我的报名表格是以这种方式写的:

<table>
    <tr>
        <td>
            <div class="editor-label">
                @Html.LabelFor(model => model.StartDate)
            </div>
        </td>
        <td>
            <div class="editor-label">
                @Html.LabelFor(model => model.EndDate)
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="editor-field">
                @Html.TextBoxFor(model => model.StartDate,new { @class = "datepicker",id="txtStartDate" })
                @Html.ValidationMessageFor(model => model.StartDate)
            </div>
        </td>
        <td>
            <div class="editor-field">
                @Html.TextBoxFor(model => model.EndDate,id = "txtEndDate" })
                @Html.ValidationMessageFor(model => model.EndDate)
            </div>
        </td>
    </tr>
</table>

我的问题是文本框现在显示01 / Jan / 0001 00:00:00.
那么第一:我怎么才能得到一个缩写的日期?
我发现一个MVC2 solution,建议在SharedFolder中创建一个EditorTemplates文件夹,并使用EditorFor,但似乎并没有使用MVC3.它似乎也阻止了添加类容易像TextBoxFor一样

其次,一旦修复,我有一个特殊的验证系统,我需要到位.我需要结束日期在开始日期之后.我正在考虑用javascript我发现了http://www.datejs.com,但是有没有办法直接在我的课上进行验证?

解决方法

对于您的编辑模板尝试这个
@model DateTime?
@Html.TextBox("",(Model.HasValue ? Model.Value.ToShortDateString() : string.Empty),new { @class = "datePicker" })

资料来源:MVC 3 Editor Template with DateTime

jQuery DateTime比较

$('#txtBox').change(function() {
            var date = $(this).val();
            var arrDate = date.split("/");
            var today = new Date();
            useDate = new Date(arrDate[2],arrDate[1] -1,arrDate[0]);

            if (useDate > today) {
                alert('Please Enter the correctDate');
                $(this).val('');
            }
        });

资料来源:Jquery date comparison

原文链接:https://www.f2er.com/aspnet/250331.html

猜你在找的asp.Net相关文章