云客Drupal源码分析之实体表单验证(下)

本文介绍如何在Drupal中设置实体约束,包括实体级和字段级约束,以限制内容类型的格式输入,如产品型号。同时,探讨了如何通过代码控制用户在特定时间内的发布频率。

如果你对以下问题不知道或感兴趣,本篇即是你需要的:
1、如何让某个内容类型的标题或其他表单项只允许录入指定的格式?如:只允许产品型号,其他特征不被允许
2、如何限制用户的发布频率?如:在指定时间内最多只能发布多少篇文章

以下内容仅是一个预览,完整内容请见文尾:
在上篇中介绍了执行验证的各组件的作用、原理和验证流程,下篇侧重于实践,并提供了示例代码

实体对象转化为类型化数据对象:
实体(不管是内容实体还是配置实体)都没有实现类型化数据接口,也就是说实体对象不属于类型化数据对象,但在实体接口中定义了以下方法:
\Drupal\Core\Entity\EntityInterface::getTypedData();
该方法将实体对象转化为类型化数据...

目录如下:
实体对象转化为类型化数据对象
内容实体约束设置
  -实体级约束设置
  -字段级约束设置
    --字段列表对象
    --字段条目对象
    --字段条目对象的属性对象
约束添加时机及作用范围
  -基本字段的约束设置
  -bundle字段的约束设置
系统提供的约束
  -约束id:EntityType
  -约束id:Bundle
  -约束id:ComplexData
  -约束id:Callback
  ...
约束设置代码示例
  -示例一:产品内容类型标题只能填为型号
  -示例二:在指定时间内限制文章发布数量
自定义约束
  -建立约束类
  -建立约束验证器类
  -设置约束
  -生效约束
补充注意事项

各位《云客drupal源码分析》系列的读者:
本系列分享希望帮助大家理解drupal底层原理,并缩短学习时间,但部分重点内容在博客仅发布前言和目录,这是因为:drupal在国外如此流行但在国内却很小众,一个重要原因应该是中文资料的缺乏,我们是否能够找到一种方式来激发高质量的中文资料出产?此时同是积极推动者的晴空提出能否用付费阅读的方式来鼓励更多教程作者?并建立了一个付费阅读drupal资料的网站,学习者仅需支付很少费用即可查询到最用心的知识注解,避免大量查找资料,可以节省大量学习时间是划算的,作者也能分配精力去开发高质量内容而得到回报,drupal是精品中的精品,超过一半的世界五百强用她做网站,难能可贵,国内普及初期需要一个良好的土壤,普及开后免费内容会越来越多,为了支持国内发展,云客决定将重点内容放在晴空的这个网站上收费阅读,读者只需要微信支付很少费用即可,云客在这里承诺该系列得到的所有订阅费用全部捐献给drupal深圳社区,用以组织活动等等,发展社区需要大家贡献力量,该网站于2017年3月29日上线,请移步:http://nowicode.com/ 阅读本篇完整版

我是云客,【云游天下,做客四方】,联系方式见主页,欢迎转载,但须注明出处

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值