0

timeOnly=true の SharePoint 日時コントロールが 2 つあります。必須フィールドとして検証し、1 つのコントロールとして検証する必要があります。時間の値は、他の値よりも大きく、等しい必要があります。私はクライアント側でそれをしたい。

: timeOnly="true" を使用すると、時間と分のみを検証する必要があることを意味します。

4

2 に答える 2

0

2 つの日時コントロールの時間と分の部分を比較するための asp.net カスタム バリデータを作成しました。そして、 asp.net custom validatorのプロパティ
から javascript 関数を呼び出します。 関数はここにあります:ClientValidationFunction

        function ValidateHour&Minute(sender, args){
            var startDateHour = document.getElementById("<%=DateTimeControlStartDate.Controls[1].ClientID %>").value;// gets value from hours dropdown list for 1st datetime control
            var startDateMinute = document.getElementById("<%=DateTimeControlStartDate.Controls[2].ClientID %>").value;// gets value from minutes dropdown list for 1st datetime control
            var timeStart = new Date();
            var timeEnd = new Date();
            var strStartHour;
            var hourType;
            hourType = startDateHour.split(' '); 
            if (hourType[1] == "AM") {
                startDateHour=startDateHour.split(' ');
                strStartHour = startDateHour[0];
            }
            else {
                startDateHour=startDateHour.split(' '); 
                strStartHour = startDateHour[0]; 
                strStartHour = parseInt(strStartHour) + 12; 
            }
            timeStart.setHours(strStartHour, startDateMinute, 0, 0); 
            var strEndHour;
            var endDateHour = document.getElementById("<%=DateTimeControlEndDate.Controls[1].ClientID %>").value;// gets value from hours dropdown list for 2nd datetime control
            var endDateMinute = document.getElementById("<%=DateTimeControlEndDate.Controls[2].ClientID %>").value;// gets value from minutes dropdown list for 2nd datetime control
            hourType = endDateHour.split(' ');
            if (hourType[1] == "AM") {
                endDateHour=endDateHour.split(' ');
                strEndHour = endDateHour[0]; 
            }
            else {
                endDateHour= endDateHour.split(' ');
                strEndHour = endDateHour[0]; 
                strEndHour = parseInt(strEndHour) + 12; 
            }
            timeEnd.setHours(strEndHour, endDateMinute, 0, 0);
            if (timeStart < timeEnd) {
                args.IsValid = true;

            }
            else {
                args.IsValid = false;
            }
        }
于 2012-11-06T12:18:05.850 に答える
0

引用符を使用せずに - sharepoint datetimecontrol validation - というフレーズを Google で検索すると、いくつかの良い解決策が見つかります。

于 2012-11-06T19:39:42.740 に答える