# 利用自定义正则校验字段内容是否合规并提示

来源快照：`result_data_new_260518.json`

- 来源 ID：`1971895816237234488`
- 模块：低代码平台e-builder
- 目录：专题学习 - 场景专题 - 表单专题
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

**1.  ****编写目的  **

在用户填写表单某些字段的时候，常常需要规范填写格式，例如大陆手机号必须是11位数，身份证必须是数字或字母等。对于这些信息，系统提供了对应的字段，用户填写错误时可以及时做出提示，帮助用户纠正问题。但是对于一些特殊的校验需求，则需要利用【自定义正则校验】功能。

例如在填写通知信息时，通知类型包含新闻/公告两种：当类型是新闻时，需要标题是以“新闻”二字开头；当类型是公告时，需要标题是以“公告”二字开头，若填写不规范，则会做出提示，并且不允许保存表单。展示效果如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693879225909260&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)  


 

**2.****思路分析**

为了实现上述场景，我们根据实际情况在表单中放入两个辅助标题字段，分别对应不同的通知类型（新闻/公告），通过【自定义正则校验】功能，让两个字段填写时进行对应的提示；与此同时，通过【显示属性联动】，让用户选择通知类型后，自动展示对应类型标题的填写框，并隐藏另一个；最后，两个辅助标题，无论填写了哪一个，都通过【函数公式】，赋值在真正的标题上。从而实现用户在填写时根据通知类型的不同，进行不同的标题内容校验，最后在查看时，能看到唯一的标题信息。

** **

**3.  ****操作说明**  

**3\. 1****新建表单，设置字段正则校验**

如下图所示， 新建“新闻公告信息表”，本场景中，我们放入三个单行文本字段，一个作为正式标题，另外两个作为填写时进行正则校验的标题（取名为新闻标题与公告标题），在表单新建布局中，正式标题隐藏，其它两个标题放置后设置不显示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693879241801755&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

之后分别设置两个辅助标题的自定义正则校验，由于需要开头必须包含相应的字段，以通知类型“新闻”为例，正则校验表达式为^新闻.*，同时设置不合规提示语，另一个公告标题字段同样设置即可：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693879241801784&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

**3.2****设置字段显示属性联动**

本场景中，字段“新闻标题”和“公告标题”需要根据“通知类型”这个下拉框值的不同，进行展示/隐藏，因此我们可以利用【显示属性联动】功能实现，设置方式如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693883537653772&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

再添加一个显示属性联动，当通知类型是“新闻”时，进行相似的设置即可。设置完成后，显示属性效果如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693883537653823&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

**3.3****设置函数公式，为正文标题赋值**

上述的设置，都是为了在填写时，进行字段内容的校验。我们可以发现一个问题，此时是有两个标题字段的，那么当用户真正最后使用的时候，如果列表台账上展示两个标题，不符合实际情况。因此可以做一个正式标题字段，利用函数公式，使得无论填写的是新闻标题还是公告标题，最后都会赋值到正式标题上，成为唯一的标题，设置方式如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693883537653866&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

**3.4****设置表单显示布局，台账显示字段**

上文前三步都是表单新建时填写数据的场景，最后表单详情的显示和视图台账的展示中，并不需要辅助的标题，只需要最后的正式标题即可。

因此对于表单最后的显示详情，我们可以复制表单布局，修改字段位置，并设为显示布局：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693891916988441&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

在表格视图台账中，我们设置字段显示列：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157693892057653302&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)
