如果 kendo 数字文本框中的值增加最大值,则希望显示错误消息

Want to display error message if value increases max value in kendo numeric textbox

本文关键字:最大值 希望 显示 消息 错误 增加 数字 kendo 文本 如果      更新时间:2023-09-26

我有一个剑道数字文本框。我已将最小值设置为 1,将最大值设置为 31.如果我输入大于 31 的值,我想显示一条错误消息"值必须介于 1 和 31 之间"。如果输入更大的值,小部件会将其舍入为最大值。因此,如果您使用键盘输入值 50 并从输入或保存表单中失去焦点,则该值将舍入为最大值 31。

我希望当您在小部件文本框中输入更大的值时,会显示一条错误消息。这是我的代码:

        @(Html.Kendo().NumericTextBox<int>()
        .Name("month_day_1")
        .Format("#")
        .Min(1)
        .Max(31)
        .Events(evnt => evnt.Change("Change"))

谁能告诉我如何实现它。我尝试在剑道数字文本框的更改事件上应用条件。但是我得到了错误,因为控制台上未定义更改。

这是我的javascript函数:

    function Change(e) {
    debugger;
    var numerictextbox = $("#month_day_1").data("kendoNumericTextBox");
    var value = numerictextbox.value();
    if (value > 31) {
        alert("Month Day value must be between 1 and 31");
        return false;
    }
} 
      )

这应该完全符合您的需求:

    @(Html.Kendo().NumericTextBox<int>()
    .Name("month_day_1")
    .Format("#")
    .Min(1)
    .Events(e => e.Change("ChangeInput"));
function ChangeInput(e) {
    var value = this.value;
    //This should work too
    //Using jQuery --> to use, delete value = this.value and uncomment the line below
    //var value = $("#month_day_1").val();
    if (value > 31) {
        alert("Month Day value must be between 1 and 31");
        return false;
    }
}   

由于您处于由输入本身调用的事件中,因此关键字 this 引用输入。使用this.value检索值应该有效。确保您的 JavaScript 在页面上并已加载。