Dynamics CRM - 为 Form 或者字段设置 Error Notification

      在 Dynamics CRM 开发中,我们一般要利用 JS 来做一些数据验证的功能,我们也需要将验证结果显示出来,比起直接 alert 出信息来提示用户的方式,CRM 提供了更加美观和人性化的方式来通知用户是否存在错误输入。

 

一、为字段设置 Notification:

代码如下:

var oStartDate = Xrm.Page.getAttribute("new_start_date").getValue();
var oEndDate = Xrm.Page.getAttribute("new_end_date").getValue();
var sMsg = null;

if (oStartDate != null && oEndDate != null && oStartDate > oEndDate) {
    sMsg = "End Date must be later than or on the same day as Start Date.";
    Xrm.Page.getControl("new_end_date").setNotification(sMsg);
}
else {
    Xrm.Page.getControl("new_end_date").clearNotification();
}

效果如下:

 

Note:此时 CRM 系统不允许保存该记录,只有在输入正确的值,清除掉 Notification 信息之后才可以保存这条记录。

 

二、在 Form 上设置 Notification:

代码如下:

var id = Xrm.Page.data.entity.getId().replace("{", "").replace("}", "").toLowerCase();
var sMsg = "Terminate Date must be later than or on the same day as First Join Date.";
var firstJoinDate = Xrm.Page.getAttribute("new_first_join_date").getValue();
var terminateDate = Xrm.Page.getAttribute("new_terminate_date").getValue();

if (firstJoinDate != null && terminateDate != null && firstJoinDate > terminateDate) {
    Xrm.Page.ui.clearFormNotification(id);
    Xrm.Page.ui.setFormNotification(sMsg, "ERROR", id);
    Xrm.Page.getAttribute("new_terminate_date").setValue(null);
}
else if (firstJoinDate != null && terminateDate != null && firstJoinDate <= terminateDate) {
    Xrm.Page.ui.clearFormNotification(id);
}

效果如下:

 

 

Note:这里需要注意的有一下几点:

1.在设置或者清除 Notification 的时候,都需要对于 Record 的 id;

2.Form Notification 的 level 有多种,比如:INFO,WARNNING,ERROR;

3.当前 Record 可以继续执行保存。

转载于:https://www.cnblogs.com/Sunny20181123/p/11506983.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值