1

Kendo のフォーラムの機能 (有料のお客様のみ) の変更が差し迫っているため、そこで質問に答えてもらえる可能性はほとんどないと思いますので、代わりにここで試してみます...

2 つの数値フィールドにカスタム バリデータを使用する編集可能なグリッドをセットアップしました。バリデーターは ajax クエリを使用して有効なパラメーターを取得します (ただし、それは重要ではないと思います)。

これはすべて機能していますが、NumericTextBoxes で小数点以下 4 桁をサポートする必要がありますが、これはデフォルトではサポートされていません。

これらのフィールド用のカスタム グリッド エディターを作成しました。これにより、小数点以下 4 桁まで入力できますが、カスタム検証が壊れます。

NumericTextBoxes が編集モードで小数点以下 4 桁をサポートし、カスタム検証ルールを許可するにはどうすればよいですか?

前もって感謝します

私が使用しているバリデーターを使用したフィールド定義は次のとおりです。

end: { type: 'number', validation: {
    end: function(input){  
        if (input.attr('name')=='end' && $('input[name=lookup]').val()!=''){  
            $.ajax({  
                type: 'post',   
                url: '/ajax/lookupParams',   
                data: { lookup:$('input[name=lookup]').val(), csrf_token: token },  
                success: function(data) {  
                    start = data.start;  
                    end = data.end  
                },  
                   dataType: 'json',  
                   async: false  
                });  
            input.attr('data-end-msg', 'End must be between '+start+' and '+end);  
            return (input.val() >= start && input.val() <= end);  
         }  
         return true;  
     }  
}  

このビットは機能します。ルックアップ フィールドの現在の値に基づいて、有効な開始値と終了値を取得するために ajax が使用されます。小数点以下 4 桁をサポートするカスタム エディターを使用すると、機能しなくなります。

4

1 に答える 1

6

KendoUI NumericTextBoxesは、4つの小数と検証をサポートしています。

次のHTMLを持っている:

<input id="num" value="123.456789"
       data-format="n4"
       data-decimals="4"
       data-step="0.0001"
       data-role="numerictextbox"/>

および次の初期化:

$("#num").kendoValidator({
    rules   :{
        custom:function (input) {
            var val = Math.floor(input.val() * 10000);
            return val % 2;
        }
    },
    messages:{
        custom:"Your number * 10000 needs to be odd"
    }
});
kendo.init($("#num"));

これは、NumericTextBox4桁の数字(視覚化モードと編集モードの両方)とValidator、10進数の最後の数字が奇数であることを確認するカスタムを定義します。

ちなみに、StackOverflowのKendoUIへようこそ!!

于 2012-11-25T22:21:55.533 に答える