1

クライアント側で剣道 DateTimePickerFor を検証したい。

@(Html.Kendo().DateTimePickerFor(m => m.StartDate)
                        .HtmlAttributes(new { style = "width:200px", @class = datePicker",required = "true" })
                        .Name("StartDate")
                        .Depth(CalendarView.Year)
                        .Value(DateTime.Now.ToString())
                        .Min(DateTime.Now.ToString())
                        .Max(DateTime.Now.AddMonths(4))
                        .Format("MM/dd/yyyy hh:mm tt")                        

                )   

私は準備ができている機能でそれをマスクしました.しかし、それは私が任意の入力を入力することを可能にします.

$(document).ready(function () {
    $('.datePicker').mask('99/99/9999');

    $('#_appointmentCreateForm input[type="text"], textarea').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right',
        appendTo: "#_appointmentCreateForm"
    });

    $('#_appointmentCreateForm').validate({
        ignore: [],
        rules: {

            StartDate: {
                required: true
            }
        },
        messages: {

            StartDate: {
                required: "Please choose Date and Time."
            }
        },
        errorPlacement: ValidatorErrorPlacement,
        success: ValidatorSuccess
    }
    );

});

datetimepicker に値がない場合、つまり datetimepicker が空の場合、検証は失敗しますが、メッセージは表示されません。では、Kendo DateTimePicker が有効な入力形式を受け入れるように検証する方法はありますか? 前もって感謝します。

4

2 に答える 2

0

私の問題は解決しました!ready関数をに変更したとき

$(document).ready(function () {
    $('.datePicker').mask('99/99/9999');

    $('#_appointmentCreateForm input[type="text"], textarea').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right',
        appendTo: "#_appointmentCreateForm"
    });

    $('#_appointmentCreateForm').validate({
        ignore: [],
        rules: {
            Speciality: {
                selectspeciality: true
            }
        },
        messages: {
            Speciality: {
                selectspeciality: "Please select Speciality."
            }

        },
        errorPlacement: ValidatorErrorPlacement,
        success: ValidatorSuccess
    }
    );



    $.validator.addMethod("selectspeciality", function (value, element) {
        var isValid = $(element).data("kendoDropDownList").selectedIndex == 0 ? false : true;
        return this.optional(element) || isValid;
    }, "Please select Speciality.");
});    

私のような人の役に立ちます。

于 2014-01-10T11:36:52.503 に答える
0

定義できます

    Html.Kendo().DateTimePickerFor(model => model.date_debut)
    .ParseFormats(new string[] { "dd/MM/yyyy HH:mm" })

コントロールで。ただし、Html.Kendo() がモデルからコントロールを生成するため、これはサーバー側の検証になります。クライアント側で検証するには、送信がいつ実行されるかをテストするのが最善の方法です。

$.submit(function(e) {
 //test if form is ok
});
于 2014-01-07T13:35:45.090 に答える