在 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 = "Note_Terminate_Date";
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.在设置或者清除 Form Notification 的时候,需要定义一个id,没有特定值,可以是任意字符串,只是用来代表要设置的 message;

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

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

Dynamics CRM - 为 Form 或者字段设置 Error Notification的更多相关文章

  1. 在标准实体特殊消息上注册插件及Dynamics CRM 2015中计算字段的使用

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复157或者20151005可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的 插件系列博客教程 讲述了 ...

  2. Dynamics CRM实体系列之字段

    本节开始讲实体中的基础数据存储对象,也就是字段. Dynamics CRM目前总共有13种字段类型,分别为单行文本.选项集.多选选项集.两个选项.图像.整数.浮点数.十进制数.货币.多行文本.日期和时 ...

  3. Dynamics CRM中一个查找字段引发的【血案】

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复267或者20180311可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  4. Dynamics CRM EXCEL导入数据字段类型为选项集时的注意事项

    在开始先展示下CRM的导入数据涉及选项集字段时的一个问题 下图是选项集字段的属性 下图是我要导入的excel中的列值,可以看出列明和字段名是一致的,而列值却不是选项集中已有的选项 在导入校验时,只要字 ...

  5. Dynamics CRM教程:图表的Top设置及导出修改和导入

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复144或者20150412可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 上一篇博客制作的图表放在Dashb ...

  6. Dynamics CRM可以设置会话超时和非活动超时吗?

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复266或者20171213可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  7. 一、Microsoft Dynamics CRM 4.0 SDK概述

    Chapter 1. Microsoft Dynamics CRM 4.0 SDK Overview(SDK概述) You are probably reading this book because ...

  8. Dynamics CRM项目实例之九:CRM 2015的产品中的捆绑销售

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复140或者20150112可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!      今天的博客主要是介绍Dy ...

  9. Data Encryption Errors After Restoring Microsoft Dynamics CRM Database

    If you’re seeing an error similar to the one above, you’ve probably done a database backup and resto ...

随机推荐

  1. 小程序之scroll-view用法 - 水平滚动

    <scroll-view class="box" scroll-x="true" > <view class="box-item&q ...

  2. Linux下的文件目录树结构

    Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件, ...

  3. CNN经典模型VGG

    VGG是一个很经典的CNN模型,接触深度学习的人大概都有所耳闻.VGG在2014年被提出并拿来参加ImageNet挑战赛,最终实现了92.3%的正确率,得到了当年的亚军.虽然多年过去,又有很多新模型被 ...

  4. LCT(1)

    LCT(Link-Cut Tree,动态树)是一个支持动态修改树的结构的数据结构,其基本操作有 \(\texttt{access}\) , \(\texttt{findroot}\) , \(\tex ...

  5. c++程序—if语句实践

    三只小 #include<iostream> using namespace std; #include<string> int main() { //which pig is ...

  6. 【Android】家庭记账本手机版开发报告六

    一.说在前面  昨天 1.创建登入和注册界面:2.向数据库添加一张用户表  今天 用图标显示账单情况 问题 1.使用第三方库 hellochart,时添加依赖构建失败 2.在 chertFragmen ...

  7. VMware Workstation 不可恢复错误: (vcpu-0) vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1123

    在新机器上,启动虚拟机报了个错: 使用VMware® Workstation 11.1.2 build-2780323安装MacOS系统时出现以下错误: VMware Workstation 不可恢复 ...

  8. HDU 5461:Largest Point

    Largest Point Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  9. 洛谷 P5146 最大差值

    题目传送门 好水的题... AC代码: #include<iostream> #include<cstdio> using namespace std; ,a,ans = -; ...

  10. mui下拉刷新 上拉加载

    a页面是父页面   b页面是子页面 在b页 html+ js+ 下拉和上拉执行的函数就不贴了 .在这个过程中还遇到了个问题就是刷新的图标偏上 需要改变其高度,需要在a页面里面去改变刷新图标的样式 本文 ...