Lightswitch HTML 客户端输入验证未更新
lightswitch html client input validation not updated
我有一个输入来输入一些数据,并希望使用javascript对其进行验证。我使用以下代码:
myapp.AddEditHaendlerItem.beforeApplyChanges = function (screen) {
// check PLZ
if (screen.HaendlerItem.PLZ != "12345") {
screen.findContentItem("PLZ").validationResults = [
new msls.ValidationResult(
screen.HaendlerItem.details.properties.PLZ,
"PLZ muss eine Zahl und 5 Zeichen lang sein.")
];
return false;
}
};
但我不知道,如何删除验证结果。例如,如果用户更正了输入,则仍然会显示验证错误。如何删除它?
谢谢!
由于错误不会自动从内容项的 validationResults 数组中删除,因此需要手动将其删除。
我们通常采用的方法是将 dataBind 更改处理程序添加到 contentItem 中,以便在用户"按 Tab 键"关闭条目时重置验证结果。 然后,当用户保存并执行 beforeApplyChanges 函数时,将重新应用任何剩余的错误。
以下代码片段突出显示了这种方法:-
myapp.AddEditHaendlerItem.PLZ_postRender = function (element, contentItem) {
contentItem.dataBind("value", function (value) {
contentItem.validationResults = [];
});
};
myapp.AddEditHaendlerItem.beforeApplyChanges = function (screen) {
// check PLZ
if (screen.HaendlerItem.PLZ != "12345") {
screen.findContentItem("PLZ").validationResults = [
new msls.ValidationResult(
screen.HaendlerItem.details.properties.PLZ,
"PLZ muss eine Zahl und 5 Zeichen lang sein."
)
];
return false;
}
};
此外,如果您想为用户提供更即时的反馈,您可以将验证测试移动到更改处理程序中,如下所示:-
myapp.AddEditHaendlerItem.PLZ_postRender = function (element, contentItem) {
contentItem.dataBind("value", function (value) {
contentItem.validationResults = [];
// check PLZ
if (value != "12345") {
contentItem.validationResults = [
new msls.ValidationResult(
contentItem.details,
"PLZ muss eine Zahl und 5 Zeichen lang sein."
)
];
}
});
};
这将在用户"按 Tab 键"关闭条目时执行验证,而不是延迟检查,直到用户保存。
相关文章:
- 引导复选框-x 选中时未正确更新 DOM - 如何验证表单
- 实现已验证用户更新状态的最佳方式,作为对系统中已更改状态的反应.(ASP.NET MVC网站)
- 验证输入,更新<td>属性以匹配验证状态
- 状态未立即更新时的 ReactJS 表单验证
- 更新到以前的验证脚本(学校项目)
- 余烬简单身份验证 - 如何更新存储的令牌
- 在验证Symfony2中的搜索表单后更新AngularJS范围
- 通过 Facebook 进行身份验证以更新另一个数据库
- 更新模型甚至验证都不满足
- 更新记录中的已验证值
- Aurelia验证器没有't更新UI
- 主干-验证不用于创建,仅用于更新/编辑
- 通过更新$scope模型更正条目后,清除角度形式验证
- 正在更新jqbootstrapvalidation-match以仅在表单提交时进行验证
- 角度表单验证-在字段更新时隐藏错误
- 通过JavaScript更新输入字段值后,无法清除验证消息
- jsViews:在data-link中更新视图之前检查要验证的数据
- AngularJS验证更新另一个输入字段的错误状态
- 更新 ui-bootstrap 版本后,日期选择器验证中断
- jquery验证器中的GetOrgChart值没有更新