그래서 몇 시간 동안이 문제로 벽에 머리를 두들 겼습니다. 내 날짜 입력 필드에 대한 지역화 된 유효성 검사를 만들고 있습니다. 기본 jquery 날짜 검사기를 덮어 썼고 메서드가 제대로 작동하는 것 같습니다. 모든 것이 계획대로 진행되는 것 같지만 jquery 유효성 검사기를 사용하면 양식을 게시 할 수 없습니다.점으로 구분 된 clientside 날짜 유효성 검사 asp MVC 4
사용자 정의 유효성 검사 방법에 배치 된 중단 점은 방화 광구에서 올바르게 히트되며 예상 한대로 true를 반환합니다.
실행을 계속하면 빨간색 사각형의 유효성 검사 오류 필드가 사라지지만 유효성 검사 요약에 MVC 생성 속성 오류가 계속 표시됩니다. 여기
// Replace dots so jq validator can understand what's going on
$(function() {
$.validator.addMethod(
"date",
function (value, element) {
var s = value;
s = value.replace(/\./g, '/');
// Chrome requires tolocaledatestring conversion, otherwise just use the slashed format
var d = new Date();
return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value))) || !/Invalid|NaN/.test(new Date(s));
},
""
);
});
$.validator.unobtrusive.parse();
이 양식은
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/tracker.validate.js")" type="text/javascript"></script>
날짜 시간 editortemplate
에 위치해 내 부분보기에서 스크립트 참조입니다tracker.validate.js : 여기
코드입니다@model DateTime
<input style="width:44%;display:inline;" type="text" name='@(ViewData.TemplateInfo.HtmlFieldPrefix).Day' value='@Model.Date.ToShortDateString()' class='date'/>
<input style="width:30%;display:inline;" type="text" name='@(ViewData.TemplateInfo.HtmlFieldPrefix).Time' value='@Model.ToShortTimeString()' onblur='formatTimeInput(this)'/>
@Html.HiddenFor(model => model)
날짜 선택기 초기화 :
$.datepicker.setDefaults($.datepicker.regional['fi']);
$('.date').datepicker({
showOn: "button",
dateFormat: "dd.mm.yy",
buttonImage: '/content/images/calendarIcon.png',
buttonImageOnly: true,
constrainInput: false
});
내가 부족 뭔가가 아니면 이러한 기본 속성 오류를 제거하는 어쨌든 무엇입니까?