加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 使用Bootstrap日期时间选择器,Asp.Net MVC4应

发布时间:2020-12-16 06:34:08 所属栏目:asp.Net 来源:网络整理
导读:我目前正在使用 Bootstrap 3.1.1,Eonasdan datetime picker v4.7.14和 jquery validation plugin v1.14.0开发MVC Asp.Net 4.6 WebApp. 我在验证日期方面遇到了一些问题. 我的模型看起来像这样: public class PersonModel{ ... [Required] [Display(Name = "
我目前正在使用 Bootstrap 3.1.1,Eonasdan datetime picker v4.7.14和 jquery validation plugin v1.14.0开发MVC Asp.Net 4.6 WebApp.

我在验证日期方面遇到了一些问题.

>我的模型看起来像这样:

public class PersonModel{
    ...

    [Required]
    [Display(Name = "Date of Birth")]
    public DateTime? DateOfBirth { get; set; }

    ...        
}

>我的视图看起来像这样:

<div class="form-group">
    @Html.LabelFor(x => x.DateOfBirth):
    <span class="text-danger"><b>*</b></span>
    <div class="input-group datepicker">
        <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
        </span>
        @Html.TextBoxFor(x => x.DateOfBirth,new {@class = "form-control",@data_date_format = "DD/MM/YYYY",@placeholder = "DD/MM/YYYY"})
    </div>
    @Html.ValidationMessageFor(x => x.DateOfBirth,"",new { @class = "text-danger" })
</div>

>初始化日期时间选择器的关联Js代码:

(function () {
    // Init bootstrap date/time pickers
    $(".datepicker").datetimepicker({
        useCurrent: false
    });
})(jQuery);

使用jQuery.validator,即使日期看起来不错,我总是会收到此错误:

enter image description here

我知道jQuery.validator可以正常使用jquery.ui.datepicker,但是如何使用bootstrap.datetimepicker?

解决方法

您可以覆盖Jquery.validator插件的日期方法:

(function () {
    // overrides the jquery date validator method
    jQuery.validator.methods.date = function (value,element) {
        // All dates are valid....
        return true;
    };
})(jQuery);

因为bootstrap datetime picker使用moment.js,你可以检查日期是否有效:

(function () {
    // overrides the jquery date validator method
    jQuery.validator.methods.date = function (value,element) {
        // We want to validate date and datetime
        var formats = ["DD/MM/YYYY","DD/MM/YYYY HH:mm"];
        // Validate the date and return
        return moment(value,formats,true).isValid();
    };
})(jQuery,moment);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读