我有一个使用Kendo Validator进行客户端验证的 Web 表单。一旦客户端验证成功,表单值就会被发送到执行额外验证的 Web 服务,并保存数据或发回JSON
由表单字段键入的错误消息对象。这些字段名称与data-for
验证器元素上的属性相匹配。有没有办法使用来显示这些错误Kendo Validator
?
我意识到您可以设置自定义规则来对每个字段进行服务器端验证。这是关于一次验证所有字段并显示多个错误。
我有一个使用Kendo Validator进行客户端验证的 Web 表单。一旦客户端验证成功,表单值就会被发送到执行额外验证的 Web 服务,并保存数据或发回JSON
由表单字段键入的错误消息对象。这些字段名称与data-for
验证器元素上的属性相匹配。有没有办法使用来显示这些错误Kendo Validator
?
我意识到您可以设置自定义规则来对每个字段进行服务器端验证。这是关于一次验证所有字段并显示多个错误。
您可以使用方法显示多个错误AddModelError
,如本主题http://blogs.telerik.com/kendoui/posts/13-08-29/handling-server-side-validation-errors-in-your-kendo-ui中所述-grid#adding-server-side-vaildation
您可以附加到响应事件和调用函数,当服务器返回一些错误时显示验证错误。
这是可以做到这一点的javascript部分:
validationMessageTemplateForReplace = kendo.template(
'<div class="k-widget k-tooltip k-tooltip-validation k-invalid-msg field-validation-error" style="margin: 0.5em; display: block; " data-for="#=field#" data-valmsg-for="#=field#" id="#=field#_validationMessage">' +
'<span class="k-icon k-warning"> </span>#=message#<div class="k-callout k-callout-n"></div></div>');
function onResponseEnd(response) {
if (response.errors) onError(response.errors, $('#myForm'));
}
function onError(errors, element) {
for (var error in errors) {
addValidationMessage(element, error, errors[error].errors);
}
}
function addValidationMessage(container, name, errors) {
//add the validation message to the form
var found = container.find("[data-for=" + name + "],[data-val-msg-for=" + name + "],[data-valmsg-for=" + name + "]");
if (found.length > 0) {
found.replaceWith(bs.validationMessageTemplateForReplace({ field: name, message: errors[0] }));
return true;
}
return false;
}
也许这个示例项目对您也有帮助。它与网格弹出编辑有关,但显示了您想要实现的机制。