ASP MVC 中的必需字段验证使用 Kendo UI
Required Field Validation in ASP MVC using Kendo UI
我有一个文本框,希望在提交表单时显示必填字段。如果我单击文本框和选项卡转到下一个文本框,则会出现错误消息。我的模型上有 'Required' 数据注释,如下所示:
[DisplayName("Shipment Number")]
[Required]
public string ShipmentNumber { get; set; }
我的视图如下所示:
<div class="col-sm-8">
@Html.TextBoxFor(model => model.ShipmentNumber, new {@class = "form-control", @maxlength = "8", @title = "Maximum length is 8"})
@Html.ValidationMessageFor(model => model.ShipmentNumber)
</div>
哦,我也在 $function 中添加了这些:
$("form").kendoValidator();
$.validator.setDefaults({
ignore: ""
});
当我将文本框留空并提交表单时,提交表单时没有显示错误消息,即 'The Shipment Number is required!'。
P.S:我也试过 DataAnnotation:
[Required(ErrorMessage = "ShipmentNumber Is Required")]
有谁知道我怎样才能做到这一点?
更新:
这修复了它:
更改 Razor 代码以使文本框成为必需的,并添加了必需的错误消息。
@Html.TextBoxFor(model => model.ShipmentNumber, new {@class = "form-control", @maxlength = "8", @title = "Maximum length is 8", data_required_msg = "Shipment Number is required!", required = "required" })
在 javascript 中的按钮提交代码中,这样做了:
var validator = $(".form-horizontal").kendoValidator().data("kendoValidator");
if (validator.validate()) {
//code that needs to be executed if it is valid
}
注意:我还去掉了模态 class、@Html.ValidationMessageFor 和 $("form").kendoValidator 代码中的数据注释。
点击按钮时尝试强制验证:
// Validate the input when the Save button is clicked
$("#save").on("click", function() {
if (validator.validate()) {
// If the form is valid, the Validator will return true
save();
}
});
或
$("form").submit(function(event) {
event.preventDefault();
if (validator.validate()) {
status.text("Hooray! Your tickets has been booked!")
.removeClass("invalid")
.addClass("valid");
} else {
status.text("Oops! There is invalid data in the form.")
.removeClass("valid")
.addClass("invalid");
}
});
见http://docs.telerik.com/kendo-ui/framework/validator/overview
我有一个文本框,希望在提交表单时显示必填字段。如果我单击文本框和选项卡转到下一个文本框,则会出现错误消息。我的模型上有 'Required' 数据注释,如下所示:
[DisplayName("Shipment Number")]
[Required]
public string ShipmentNumber { get; set; }
我的视图如下所示:
<div class="col-sm-8">
@Html.TextBoxFor(model => model.ShipmentNumber, new {@class = "form-control", @maxlength = "8", @title = "Maximum length is 8"})
@Html.ValidationMessageFor(model => model.ShipmentNumber)
</div>
哦,我也在 $function 中添加了这些:
$("form").kendoValidator();
$.validator.setDefaults({
ignore: ""
});
当我将文本框留空并提交表单时,提交表单时没有显示错误消息,即 'The Shipment Number is required!'。 P.S:我也试过 DataAnnotation:
[Required(ErrorMessage = "ShipmentNumber Is Required")]
有谁知道我怎样才能做到这一点?
更新: 这修复了它: 更改 Razor 代码以使文本框成为必需的,并添加了必需的错误消息。
@Html.TextBoxFor(model => model.ShipmentNumber, new {@class = "form-control", @maxlength = "8", @title = "Maximum length is 8", data_required_msg = "Shipment Number is required!", required = "required" })
在 javascript 中的按钮提交代码中,这样做了:
var validator = $(".form-horizontal").kendoValidator().data("kendoValidator");
if (validator.validate()) {
//code that needs to be executed if it is valid
}
注意:我还去掉了模态 class、@Html.ValidationMessageFor 和 $("form").kendoValidator 代码中的数据注释。
点击按钮时尝试强制验证:
// Validate the input when the Save button is clicked
$("#save").on("click", function() {
if (validator.validate()) {
// If the form is valid, the Validator will return true
save();
}
});
或
$("form").submit(function(event) {
event.preventDefault();
if (validator.validate()) {
status.text("Hooray! Your tickets has been booked!")
.removeClass("invalid")
.addClass("valid");
} else {
status.text("Oops! There is invalid data in the form.")
.removeClass("valid")
.addClass("invalid");
}
});
见http://docs.telerik.com/kendo-ui/framework/validator/overview