使用 Kendo-UI 创建电子邮件输入
Creating an email input with Kendo-UI
我的公司正在使用 KendoUI 和 ASP.NET MVC 作为我们的输入表单。我们在大多数模型属性上都有数据注释,并且验证与 Html 助手一起正常工作。然而,一旦我们将 Html.TextBoxFor 替换为 Html.Kendo().TextBoxFor,输入全部变为默认类型=文本,而不是从数据注释中提取类型。
我可以通过在每个 KendoUI 小部件的 Html 属性部分中包含 type="email" 来强制创建电子邮件类型。但是,由于之前这是自动的,因此我们似乎正在使用 KendoUI 小部件倒退。我错过了什么吗?我当前的数据注释如下:
[DataType(DataType.EmailAddress, ErrorMessage ="The email address is not valid")]
此外,如果我添加 type="email",当我没有正确的电子邮件时,会显示一条新的 Kendo 验证消息。对于出现在 Html.ValidationMessageFor 所在位置的任何其他验证,都不会发生这种情况。这个新的 Kendo 验证消息具有不同的样式,并作为 <label>
直接出现在 <input/>
标签下。除了使用 CSS 隐藏此标签外,还有其他方法可以在添加类型时仅显示一条验证消息吗?
提前致谢!
Kendo验证支持Required
StringLength
Range
RegularExpression
数据标注(http://docs.telerik.com/kendo-ui/aspnet-mvc/validation)
但为了支持 [EmailAddress(...)]
注释,您可以使用此 kendo 自定义全局验证规则(就像我在我的项目中所做的那样):
kendo.ui.validator.rules.FixEmail = function (input) {
var datavalemail = input.attr('data-val-email');
if (datavalemail != null) input.attr('type', 'email').attr('data-email-msg', datavalemail);
return true;
}
同样隐藏 kendo 验证工具提示我正在使用这个全局 css 规则:
.k-tooltip-validation {
display: none !important;
}
我的公司正在使用 KendoUI 和 ASP.NET MVC 作为我们的输入表单。我们在大多数模型属性上都有数据注释,并且验证与 Html 助手一起正常工作。然而,一旦我们将 Html.TextBoxFor 替换为 Html.Kendo().TextBoxFor,输入全部变为默认类型=文本,而不是从数据注释中提取类型。
我可以通过在每个 KendoUI 小部件的 Html 属性部分中包含 type="email" 来强制创建电子邮件类型。但是,由于之前这是自动的,因此我们似乎正在使用 KendoUI 小部件倒退。我错过了什么吗?我当前的数据注释如下:
[DataType(DataType.EmailAddress, ErrorMessage ="The email address is not valid")]
此外,如果我添加 type="email",当我没有正确的电子邮件时,会显示一条新的 Kendo 验证消息。对于出现在 Html.ValidationMessageFor 所在位置的任何其他验证,都不会发生这种情况。这个新的 Kendo 验证消息具有不同的样式,并作为 <label>
直接出现在 <input/>
标签下。除了使用 CSS 隐藏此标签外,还有其他方法可以在添加类型时仅显示一条验证消息吗?
提前致谢!
Kendo验证支持Required
StringLength
Range
RegularExpression
数据标注(http://docs.telerik.com/kendo-ui/aspnet-mvc/validation)
但为了支持 [EmailAddress(...)]
注释,您可以使用此 kendo 自定义全局验证规则(就像我在我的项目中所做的那样):
kendo.ui.validator.rules.FixEmail = function (input) {
var datavalemail = input.attr('data-val-email');
if (datavalemail != null) input.attr('type', 'email').attr('data-email-msg', datavalemail);
return true;
}
同样隐藏 kendo 验证工具提示我正在使用这个全局 css 规则:
.k-tooltip-validation {
display: none !important;
}