<lightning-messages></lightning-messages>
标签显示错误信息的两种用法
标签介绍
<lightning-messages></lightning-messages>
是组件 lightning-record-edit-form
自带的标签,它用统一的ui提示用户错误消息(error messages)。
用法
字段级别的验证规则错误信息显示
在自定义字段中,我们可以设置验证规则,并且为验证规则设定错误信息,让它在未通过验证时显示在<lightning-messages></lightning-messages>
位置上。
建立验证规则
- 进入对象管理器里自定义对象/标准对象的页面
- 选择验证规则选项
- 新建一个验证规则
- 输入规则名(建议起一个能概括你的验证规则的名字)
- 在错误条件公式中输入公式,该公式为 真 时,触发错误,阻止记录新建/更新
- 在错误消息中输入自定义错误消息,并且错误位置选择页首。
效果
在建立验证规则之后,不管是标准的lightning新建、编辑记录表格还是自定义组件中的 lightning-record-edit-form
,该验证规则若出现错误,错误消息都会显示在页首:
在Trigger中建立代码级别的验证规则
<lightning-messages></lightning-messages>
本质上是lightning框架对标准data-service出现的错误的前端显示,因此,在Trigger中我们同样可以触发记录级别的错误并且显示在页面组件上。在代码级别,我们能更加灵活,但同时也会带来代码量。
例子
我们针对某一个对象,建立一个触发器。
trigger Battleship on Battle_Station__c (before insert,before update) {
if (Trigger.isBefore) {
for (Battle_Station__c bs : Trigger.new) {
if (bs.Name.contains('RF')) {
bs.addError('记录名中含有“RF”,无法保存');
}
}
}
}
当记录中的Name
字段含有某些字符时,阻止更新,并且报错。
需要注意的是,在Trigger中在记录或者字段上添加 addError()
方法,会阻止记录各种操作(新建、更新等等)的发生。
效果
总结
上述两种方法就是在lightning标准、自定义表单页首显示错误消息的方法,特别需要注意的是,在自定义组件中,<lightning-record-edit-form>
标签后,<lightning-input-field>
前需要添加标准的 <lightning-messages>
标签!
两种方法一种低代码,一种更多定制化选择,权衡你对记录的验证要求去选择吧!