雲客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/ 閱讀本篇完整版

我是雲客,【雲遊天下,做客四方】,聯繫方式見主頁,歡迎轉載,但須註明出處

 

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章