CRM: Javascript检查电子邮件验证和防止保存,如果不是有效的
CRM: Javascript to Check Email Validation and Prevent Saving if not Valid
在CRM 2013上,我正在编写一个检查电子邮件验证的javascript。该字段可以包含一个电子邮件地址列表,但是如果电子邮件无效,它将不允许用户保存表单。
我得到了分割和验证工作正常了。
然而,我仍然有问题阻止用户保存表单。
在OnChange上,我选中了"将执行上下文作为第一个参数传递"的复选框
根据MSDN文章的建议,我使用了preventDefault()函数,但是我一直得到错误消息"无法获得未定义或空引用的属性'preventDefault'"。
任何想法都很感激。下面是我的代码:
function EmailTest(EmailField)
{
var Email = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+'.([a-zA-Z])+([a-zA-Z])+/;
if(Email.test(EmailField))
{
return true;
}
else
{
return false;
}
}
function CheckEmailString(context)
{
try
{
var EmailString = context.getEventSource().getValue();
if (EmailString != null)
{
var separator = [" ", ",", ";", "|"];
var EmailArray = EmailString.split(separator);
var Flag = true;
for(var i = 0;i < EmailArray.length;i++)
{
if(!EmailTest(EmailArray[i]))
{
Flag = false;
break;
}
}
if(Flag != true)
{
alert("The list of emails entered contain invalid email format. Please re-enter");
context.getEventArgs().preventDefault();
}
}
}
catch(err)
{
alert(err.message);
}
}
你会得到错误
无法获取未定义或空引用的属性'preventDefault'
因为getEventArgs只在save
事件中可用,而在onchange
事件中不可用。
如果你想停止保存,你应该在保存事件中添加验证检查
我可以建议您尝试更新到完整版本的方法ieXrm.Page.context.getEventArgs.preventDefault () .
我明白在CRM中工作时,您必须参考使用全名,以便您的功能看到防止默认方法。
希望这能有所帮助,但如果没有,祝你好运,寻求解决方案
相关文章:
- 如果不刷新Rails中的浏览器,AJAX请求就无法看到效果
- 在页面刷新时,不会触发重要滚动航路点(如果不在页面顶部)
- 如果不兼容,则隐藏范围输入
- Jquery,onBlur-如果不为空,则显示警报
- 为什么WebBrowser控件在保存后不能正确显示HTML
- 从params推送到对象(如果不存在)
- 如果不是来自引用域,则重定向
- Google 表格脚本 - “无法读取未定义的属性”(如果不是)
- 每次都必须按 CTRL+f5 才能点击 api.如果不按它,就会弹出跨源请求阻止错误
- 字体调整器(如果不是)
- 禁用输入 B&C,如果不是输入 A
- 如果不在第一个选项卡中,jQuery Accordion会缩小谷歌图表
- JQuery 选择子元素(如果不是直接在父元素下,则不确定是否可选)
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- Don'如果“不希望发送电子邮件”;Null”;单元格中的值
- Ramda过滤器如果不匹配
- 如果不使用HTML按钮,就无法通过编程方式触发SVG动画
- 如果不满足条件语句,则触发引导模式
- CRM: Javascript检查电子邮件验证和防止保存,如果不是有效的
- 如果不保存,Ember.js会丢弃创建的模型