I have a Kendo ComboBox() on CountryCode property that has [MaxLength(2)] data annotation on the property in the ViewModel. This is limiting the filtering on the ComboBox and I can't type more than 2 characters in the component. Please see the sample project for the reproduceable issue.
Upon inspecting the markup generated by the Kendo ComboBox(), I'm seeing that there are 2 inputs being generated and maxlength HTML attribute is applied to both.
When I manually removed the maxlength HTML attribute from the first input tag, this fixed the filtering of the ComboBox while still retaining the validation on the second input tag.
Please review the markup generated by the Kendo ComboBox() and see if it can be fixed to remove maxlength from the first input tag.
Expected behavior:
If [MaxLength] is applied to a property, it should generate a markup that allows the user to filter without character limitation while still validating against the selected data value.
### Bug report
When the Input() option of the Grid's pager is enabled, the page number buttons are displayed, too.
### Reproduction of the problem
1) Create a Grid and enable the Input() option of the pager.
2) The pager displays both the page number buttons and the page numeric input:
### Expected/desired behavior
When the numeric input is enabled, the page number buttons must not be displayed.
### Environment
* **Telerik UI for ASP.NET MVC version: 2025.2.702
Upgrade wizard fails with error:
An error occurred while running the wizard. Error executing custom action Telerik.KendoUI.Mvc.VSX.Actions.MultiProjectUpdateMasterPageAction: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\chyejo\AppData\Roaming\Telerik\Updates\telerik.ui.for.aspnetmvc.hotfix.2023.3.1114.commercial\styles\kendo.common-font-icons'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileSystemEnumerableIterator`1.CommonInit() at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.GetFiles(String path, String searchPattern) at Telerik.VSX.Web.Actions.CommonStyleRetrievers.SpecificSkinRetriever.GetCommonStyleFilesRecursive(String name) at Telerik.VSX.Web.Actions.CommonStyleRetrievers.SpecificSkinRetriever.CheckSkinExists() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate) at Telerik.VSX.Web.Actions.CommonStyleRetrievers.KendoSkinRetriever.GetSkin() at Telerik.KendoUI.Mvc.VSX.Actions.UpdateMasterPageAction.GetSkin(String skinName) at Telerik.KendoUI.Mvc.VSX.Actions.AdvancedUpdateMasterPageAction.RetrieveMasterPageSettingsUpgradeInfo(IPropertyDataDictionary arguments, IProjectWrap project) at Telerik.KendoUI.Mvc.VSX.Actions.UpdateMasterPageAction.Execute(WizardContext wizardContext, IPropertyDataDictionary arguments, IProjectWrap projectWrap) at Telerik.VSX.Actions.MultiProjectActionBase`1.Execute(WizardContext wizardContext, IPropertyDataDictionary arguments) at Telerik.VSX.WizardEngine.ActionManager.ExecActions()
### Bug report
When the Form contains multiple Upload editros, which are required, the Form's validator validates only the first Upload editor.
### Reproduction of the problem
1) Create a Form with two Upload editors.
2) Make both Uploads required.
3) Submit the Form without uploaded files.
4) The validation for required triggers only for the first Upload editor.
A Dojo sample for reproduction: https://dojo.telerik.com/VJTiYYhE
### Expected/desired behavior
All Upload editors in the Form must be validated.
### Workaround
function onValidate(e) {
var uploadComponent = $("#StartingFile").data("kendoUpload"); // get a reference to the Upload editor
var form = e.sender;
var validator = form.validator;
if (uploadComponent.getFiles().length == 0) { // check the selected files for upload
validator.validateInput($("input[name='StartingFile']")); // trigger the "required" validation, if no files are selected for upload
}
}
### Environment
* **Kendo UI version: 2025.2.702
* **jQuery version: 3.7.1
* **Browser: [all]
Regression introduced in 2024.4.1112.
The gutter values are ignored:
$("#exampleform").kendoForm({
formData: {
FirstName: "John",
LastName: "Doe",
Email: "john.doe@email.com",
Country: "1",
City: "Strasbourg",
AddressLine: ""
},
layout: "grid",
grid: {
cols: 2,
**gutter: 50**
},
items: [
{
type: "group",
label: "Personal Information",
layout: "grid",
grid: { cols: 1, **gutter: 50** },
//...
The gutter values are applied to the Form.
Workaround:
Set the values through CSS:
<style>
/*columns gap */
.k-form .k-form-layout {
column-gap: 50px;
}
/*rows margin*/
.k-form-md .k-form-field, .k-form-md .k-form-buttons {
margin-top: 50px;
}
</style>
Describe the bug
Setting the Sortable "cursor" option results in inline styles being applied through the _setCursor function in kendo.all.min.js. This causes a CSP related js exception.
To reproduce
<ul id="sortable">
<li>ItemA1</li>
<li>ItemA2</li>
<li>ItemA3</li>
</ul>
<script>
$("#sortable").kendoSortable({
cursor: "move"
});
</script>
Expected behavior
No inline styles should be added, to ensure CSP compatibility.
Actual behavior
A js error related to inline styles is thrown.
Affected browsers (please remove the unneeded items)
Product Version
2024.4.1112
Dojo example: https://dojo.telerik.com/uGitesaF
When the DropDownList has an initial value, the floating label overlaps with the text.
The label should be displayed above the DropDownList.
Workaround: refresh the floating label in the dataBound event handler of the component:
e.sender.label.floatingLabel.refresh()
When I am trying to use your components, I have to look things up on your web site. Considering you develop web site components, I would think that your site would behave very well. What I find is that I am often frustrated by web site. Here is an example:
https://docs.telerik.com/aspnet-mvc/api/kendo.mvc.ui.fluent/taskboardbuilder?_gl=1*3hzp1t*_ga*MTEwODg5NTUzNy4xNjc5MDc0ODQy*_ga_9JSNBCSF54*MTcxNzE3MjQ2NS4zNDMuMS4xNzE3MTczMzA1LjE2LjAuMA..*_gcl_aw*R0NMLjE3MTY0NzU0MDYuQ2owS0NRancwcnV5QmhEdUFSSXNBTlNaM3dwOXNTVTZDZC1rU0ViRVdYNDNjYVV2U0pnOWZOcFpHSk10YzVmOWhOX3hZY3owQlppb045RWFBbVpnRUFMd193Y0I.*_gcl_dc*R0NMLjE3MTY0NzU0MDYuQ2owS0NRancwcnV5QmhEdUFSSXNBTlNaM3dwOXNTVTZDZC1rU0ViRVdYNDNjYVV2U0pnOWZOcFpHSk10YzVmOWhOX3hZY3owQlppb045RWFBbVpnRUFMd193Y0I.*_gcl_au*MTAyOTkxNjgzOC4xNzEyOTMxMDQ3&_ga=2.233747739.449664680.1716902667-1108895537.1679074842&_gac=1.124170360.1714792673.Cj0KCQjwltKxBhDMARIsAG8KnqWeETNM6gbjk2Jt1wTc9LrEO5gPp1cwyMu5bYB9fTjPB6DpZ_mC0MsaAixAEALw_wcB
On this page you basically have three main sections:
The "Api reference" list on the left with a vertical scroll bar.
The "IN THIS ARTICLE" list on the right. No scrollbar
The actual api methods in the middle which scrolls with the main scroll bar.
But the "IN THIS ARTICLE" list section on the right never scrolls. I would like to be able to scroll through the list to see possible methods, but I can't. I know they are there to help navigate to a method but since a bunch of methods are basically cut off .....
Remember that first impressions aren't the only impression. You can make the sale with your demos, but can you keep the customer with your documentation?
Clearing the value with the Signature "clear" button does not trigger the widget's change event.
Run the following Dojo example: https://dojo.telerik.com/KhlVWvam
The change event fires.
The change event does not fire.
**Kendo UI version: 2025.1.211
**Browser: [all]
When the kendo js references are rendered as module, the licensing banner and watermark appear, even when a valid license license key has been installed.
<link href="https://kendo.cdn.telerik.com/themes/10.2.0/default/default-ocean-blue.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.7.1.min.js" type="module"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.8.69/pdf.mjs" type="module"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.8.69/pdf.worker.mjs" type="module"></script>
<script src="https://cdn.kendostatic.com/2025.1.211/js/kendo.all.min.js" type="module"></script>
<script src="https://cdn.kendostatic.com/2025.1.211/js/kendo.aspnetmvc.min.js" type="module"></script>
No banner and watermark appears.
A banner and a watermark appears.
Workaround: reference a js file containing your script key after the kendo js files:
<script src="~/Scripts/telerik-license.js" type="module"></script>
**Kendo UI version: 2025.1.211
**Browser: [all]
Bug report
When the Kendo UI Grid is configured to have endless scrolling and an item is updated on the first page, the scrollbar is reset. If an update is done on a page after the first one, the scroll is correctly persisted.
Reproduction of the problem
1. Set a grid with an endless scroll.
2. Scroll down (without entering the second page).
3. Update an item on the first page.
4. The scroll is reset.
Dojo sample for reference:
https://dojo.telerik.com/EcUKIrAK
Environment
* **Kendo UI version:** 2021.1.330
* **jQuery version:** 1.12.4
* **Browser:** [all]
Currently, the tool name is not added into the HTML structure of the created Editor's tool:
Here is a Dojo example:
https://dojo.telerik.com/AvoNOKOr
Is it possible to include the specified "name" in the button's class, so the custom tools can be selected by class name for further customization?
The SaveButton() method does not render the Cancel Command button in Grid's Toolbar Template
@(Html.Kendo().Grid<GridModel>()
...
.Name("grid")
.ToolBar(t =>
{
t.Template(@<text>
<span class="group-buttons">
@item.SaveButton();
</span>
</text>);
})
)
The SaveButton() method does not render the Cancel Command in Grid's Toolbar Template.
The SaveButton() method should render the Cancel Command in Grid's Toolbar Template.
A possible way to circumvent this behavior would be to explicitly declare both the Save and Cancel buttons as independent Button components via the Toolbar.ClientTemplate() API configuration.
@(Html.Kendo().Grid<GridModel>()
...
.Name("grid")
.ToolBar(t =>
{
t.ClientTemplate(Html.Kendo().Template()
.AddHtml(@<text>
<span class="group-buttons">
</text>)
.AddComponent(saveBtn => saveBtn
.Button()
.Name("saveBtn")
.Icon("check")
.HtmlAttributes(new { @class = "k-grid-save-changes", style="margin-right: 2%;" })
.Content("Save Changes")
)
.AddComponent(cancelBtn => cancelBtn
.Button()
.Icon("cancel")
.Name("cancelBtn")
.HtmlAttributes(new { @class = "k-grid-cancel-changes" })
.Content("Cancel Changes")
)
.AddHtml("</span>")
);
})
)
Inline Editor removes Toolbar items when it is set as resizable.
true
.The Inline Editor's Toolbar items are removed each time the ToolBar window is re-rendered.
The Inline Editor's Toolbar items should not be removed each time the ToolBar window is re-rendered.
Describe the bug
The k-toolbar-solid class is not rendered in the Grid's toolbar. As a result, the theme background color is not applied to the toolbar.
To reproduce
Steps to reproduce the behavior:
Expected behavior
The k-toolbar-solid class should be applied to the toolbar's div element, as in the Kendo UI for jQuery Grid and the Core Grid.
The workaround is to add the class with jQuery, for example in the DataBound event of the Grid:
<script>
function onGridDataBound(e) {
$(e.sender.wrapper).find(".k-toolbar").addClass("k-toolbar-solid");
}
</script>
Affected browsers (please remove the unneeded items)
Product Version
2024.4.1112
Dojo: https://dojo.telerik.com/iMuMedOd
A js exception is thrown:
Uncaught TypeError: Cannot read property 'click' of undefined
kendo.all.js:168073
With the toolbar disabled the shortcuts should do nothing. There should be no exceptions.
There is a difference in behavior between the wrappers (MVC and Core) and the Kendo UI for jQuery DateRangePicker. See the following dojo example, which shows initializing the component with a null value for the End date: https://dojo.telerik.com/IkAMUJoG/2
In contrast, the MVC and Core helpers display the Start value as End value.
The End value is the same as the Start value.
The End value is null.
Consider also the scenario, where the Range configuration is not set and the component gets the Start and End values from the model, and the value of the EndDate field is null:
@(Html.Kendo().DateRangePickerFor(m => m.StartDate, m => m.EndDate )
.Name("dateRangePicker")
)
The TabStrip Item Action()
method is not loading content correctly.
@(Html.Kendo().TabStrip() .Name("tabs") .Items(strip => { strip.Add().Text("Back").Action("About", "Home"); // ...
For kendo.version '2024.3.806', when the tab is clicked, the controller method does not load from the Action().
For previous versions, like '2023.2.718', when the tab is clicked, the URL from the action method is loaded into the browser URL.
The Scheduler is not rendered correctly when the Custom Toolbar is declared with a Template component
Open the following demo and notice that the Scheduler has not been rendered accordingly.
The Scheduler is not rendered accordingly.
The Scheduler should be rendered accordingly.