支持了身份证校验可二开扩展校验非大陆身份证的功能

1 用户场景
对于拥有港澳台身份证的人员,用户想录入苍穹人员中,但是苍穹人员只对大陆身份证进行了校验,非大陆的并没有做处理;用户想要校验港澳台地区身份证号的话,标准产品就实现不了,更加发散来说,对于外籍的人员信息,想要校验外籍的身份证信息的话,也存在这样的问题。
2 解决思路
身份证的格式和校验码,不同国家和地区都不相同。苍穹标准版对于身份证的格式和校验码是根据中国大陆身份证要求进行校验,如果需增加其它国家和地区,需要进行二次开发针对相应的校验规则进行校验处理。
3 操作步骤
主要步骤有新建一个插件类并启用,禁用标准版身份证校验的插件,具体操作流程如下。
3.1 新建一个插件类
类名例如:
UserIdCardFormatValidatorPlugin2.java
package kd.bos.sec.user;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.org.utils.Consts;
/**
* 人员保存时,对身份证进行校验的插件
* @author rd_chaohua_cheng
*/
public class UserIdCardFormatValidatorPlugin2 extends AbstractOperationServicePlugIn {
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
e.addValidator(new UserIdCardFormatValidator2());
}
private static class UserIdCardFormatValidator2 extends AbstractValidator {
@Override
public void validate() {
for (ExtendedDataEntity dataEntity : dataEntities) {
DynamicObject userObj = dataEntity.getDataEntity(); // 人员实体
// 获取身份证的值
String idCard = userObj.getString(Consts.IDCARD);
if (StringUtils.isNotBlank(idCard)) {
支持了身份证校验可二开扩展校验非大陆身份证的功能
1 用户场景 对于拥有港澳台身份证的人员,用户想录入苍穹人员中,但是苍穹人员只对大陆身份证进行了校验,非大陆的并没有做处理;用户想要...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



