Dynamics 365 自定义 javascript 在设置字段级通知后不会执行保存
Dynamics 365 custom javascript won't execute save after setting field level notification
当字段中的数据无效时,我设置了字段级通知。然后我将数据更改为有效的数据,但因为我已经设置了通知 onSave 不会被触发。
function ValidateFields(executionContext) {
console.log("Init");
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(!isNumeric(bfenummer_value))
{
bfenummer_control.setNotification("Angiv et tal mellem -2147483648 og 2147483647", bfenummer_uniqueid);
console.log("Set " + isNumeric(bfenummer_value));
// setTimeout(function () {
// bfenummer_control.clearNotification(bfenummer_uniqueid);
// console.log("Clear " + isNumeric(bfenummer_value));
// }, 1000);
}
else {
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
您需要运行“kk_ejerlav”字段的 OnChange 事件函数。
像这样:
function ejerlavChanged(executionContext){
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(isNumeric(bfenummer_value)){
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
当字段中的数据无效时,我设置了字段级通知。然后我将数据更改为有效的数据,但因为我已经设置了通知 onSave 不会被触发。
function ValidateFields(executionContext) {
console.log("Init");
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(!isNumeric(bfenummer_value))
{
bfenummer_control.setNotification("Angiv et tal mellem -2147483648 og 2147483647", bfenummer_uniqueid);
console.log("Set " + isNumeric(bfenummer_value));
// setTimeout(function () {
// bfenummer_control.clearNotification(bfenummer_uniqueid);
// console.log("Clear " + isNumeric(bfenummer_value));
// }, 1000);
}
else {
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
您需要运行“kk_ejerlav”字段的 OnChange 事件函数。
像这样:
function ejerlavChanged(executionContext){
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(isNumeric(bfenummer_value)){
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}