У меня проблема, когда я использую обязательное поле с настройкой даты.
Если я нажимаю на следующую кнопку, в поле настраиваемой даты принятия решения отображается «поле должно быть действительной датой».
Если я изменю формат даты в датере, например, так: «dateFormat:« d / m / yy »», это будет работать, но я бы хотел отображать только месяц и годы, а не дни.
Спасибо за вашу помощь.
Мой взгляд:
<script>
$(document).ready(function () {
$(".DatepickerMonthYears").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'm/yy',
required: false,
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
}
});
$(".DatepickerMonthYears").focus(function () {
$(".ui-datepicker-calendar").hide();
$("#ui-datepicker-div").position({
my: "center top",
at: "center bottom",
of: $(this)
});
});
});
</script>
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "FormAction" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Create </legend>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Step1</a></li>
</ul>
<div id="tabs-1">
@Html.Partial("Step1", Model)
</div>
<div class="buttonNextPrevious">
<a id="previous" class="linkLikeButton" href="#">Previous Step</a>
<a id="next" class="linkLikeButton" href="#">Next Step</a>
</div>
</div>
</fieldset>
}
Мое частичное представление:
@model SiteWebEmpty.Models.ArticleRequest.CreateArticle.DisplayCreateAllStep
<fieldset>
<legend>Step 1</legend>
@Html.LabelFor(model => model.Step1.CustomerDecisionDate, new { @class = "LabelStep1" })
@Html.TextBoxFor(step1 => step1.Step1.CustomerDecisionDate, new { @class = "DatepickerMonthYears" })
@Html.ValidationMessageFor(model => model.Step1.CustomerDecisionDate)
<br />
</fieldset>
Моя модель:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
using SiteWebEmpty.Models.AttributValidation;
namespace SiteWebEmpty.Models.Step1
{
public class Step1
{
[Display(Name = "Customer Decision Date")]
public DateTime CustomerDecisionDate { get; set; }
}
}
UPDATE
Решение по этой ссылке:
jQuery UI DatePicker для отображения только месяца и года
с постом "Эрик Полдер" работает, но если я изменю формат даты "гг-мм" на "мм- / гг), у меня та же ошибка: /
UPDATE2
Я нашел решение, добавляю скрипт, чтобы он работал
Сценарий: jquery.ui.datepicker-fr.js