openlark-validation-style
10
总安装量
9
周安装量
#29792
全站排名
安装命令
npx skills add https://github.com/foxzool/open-lark --skill openlark-validation-style
Agent 安装分布
opencode
9
gemini-cli
9
claude-code
9
github-copilot
9
codex
9
kimi-cli
9
Skill 文档
OpenLark Validation Style
ð§ æè½è·¯ç±æå
æ¬æè½éç¨åºæ¯ï¼
- éè¦ç»ä¸/è¯å®¡
validate()æ¹æ³åæ³ - ä¸ç¡®å®ä½¿ç¨
validate_required!ï¼å®ï¼è¿æ¯validate_required()ï¼å½æ°ï¼ - éè¦å¤ç空ç½åç¬¦ä¸²æ ¡éª
- éè¦èå夿¡æ ¡éªé误
å ¶ä»æè½ï¼
- 项ç®çº§ä»£ç è§èæ£æ¥ï¼æ¶æ/API/导åº/æ ¡éªä¸ä½ï¼â
Skill(openlark-code-standards) - æ·»å /éæ API â
Skill(openlark-api) - å®¡æ¥æ´ä½è®¾è®¡è§è â
Skill(openlark-design-review)
å ³é®è¯è§¦åæ å°
- validateãå¿
å¡«æ ¡éªãvalidate_requiredã空ç½åç¬¦ä¸²ãæ ¡éªèå â
openlark-validation-style - 代ç è§èãè§èæ£æ¥ã飿 ¼ä¸è´æ§ã使£ â
openlark-code-standards - æ¶æè®¾è®¡ãpublic APIãæ¶ææ¹æ¡ãfeature gatingãå
¼å®¹çç¥ â
openlark-design-review - æ°å¢ APIãéæ APIãBuilderãRequest/Responseãmod.rs å¯¼åº â
openlark-api - è¦ççã缺失 APIãå®ç°æ°éãCSV å¯¹æ¯ â
openlark-api-validation
åå跳转è§å
- è¥æ ¡éªé®é¢å·²æ©å±å°å½å/导åº/端ç¹ä½ç³»ï¼è½¬
openlark-code-standardsã - è¥æ ¡éªäºè®®æ¬è´¨æ¯æ¶æèå¼å²çªï¼ä¾å¦ Request/Service è¾¹çï¼ï¼è½¬
openlark-design-reviewã
ç®æ
å¨å feature crate ç请æ±/Builder validate(&self) -> SDKResult<()> ä¸ç»ä¸ï¼
- å¿ å¡«åæ®µæ ¡éªåæ³ï¼åå°æ ·æ¿ä»£ç ï¼
- 空ç½å符串æ¯å¦è§ä¸ºç¼ºå¤±ï¼é¿å ä¸å crate è¡ä¸ºæ¼ç§»ï¼
- 失败æ¶è¿åçé误类å䏿¶æ¯é£æ ¼
è§å
1) é»è®¤ï¼å¨ validate() å
ä½¿ç¨ openlark_core::validate_required!ï¼å®ï¼å¿«é失败
éç¨åºæ¯ï¼å¿
å¡«æ ¡éªå¤±è´¥å°±åºè¯¥ç«å³è¿å Err(...)ã
注æï¼è¯¥å®å
é¨ç¨ .is_empty() å¤ç©ºï¼ä¸ä¼èªå¨ trim()ã
åç¬¦ä¸²åæ®µä¸å¾ä¼ å
¥ .trim() ç»æï¼ä¿è¯ç©ºç½å符串ä¹è§ä¸ºç¼ºå¤±ï¼
fn validate(&self) -> openlark_core::SDKResult<()> {
openlark_core::validate_required!(self.app_token.trim(), "app_token ä¸è½ä¸ºç©º");
openlark_core::validate_required!(self.table_id.trim(), "table_id ä¸è½ä¸ºç©º");
Ok(())
}
éå符串容å¨ï¼å¦ Vec<T>ï¼å¯ç´æ¥ä¼ åæ®µï¼æâé¿åº¦æ¯å¦ä¸º 0âå¤ç©ºï¼ï¼
fn validate(&self) -> openlark_core::SDKResult<()> {
openlark_core::validate_required!(self.items, "items ä¸è½ä¸ºç©º");
Ok(())
}
2) éè¦èªå®ä¹æ§å¶æµï¼ä¸ç«å» return / èå夿¡éè¯¯ï¼æ¶ï¼ä½¿ç¨ openlark_core::validation::validate_requiredï¼å½æ°ï¼
éç¨åºæ¯ï¼
- éè¦å夿¡æ ¡éªåç»ä¸è¿åï¼ä¾å¦æ¶éå¤ä¸ªé误ï¼
- éè¦æç¡®ç
trim()è¯ä¹ï¼å½æ°å é¨trim()åå¤ç©ºï¼
注æï¼å½æ°åªè¿å boolï¼ä½ éè¦èªå·±å³å®éè¯¯æ¶æ¯ä¸è¿åæ¶æºï¼
fn validate(&self) -> openlark_core::SDKResult<()> {
if !openlark_core::validation::validate_required(&self.name, "name") {
return Err(openlark_core::CoreError::validation_msg("name ä¸è½ä¸ºç©º"));
}
Ok(())
}
3) ç¦æ¢å¨ feature crate å
éå¤å®ä¹ validate_required!ï¼æåè¯ä¹å®ï¼
ç»ä¸å¤ç¨ openlark_core::validate_required!ï¼é¿å
å crate çå¤ç©ºè§å/é误类åä¸ä¸è´ã
鿥
- âæ ¡éªå¤±è´¥ç«å³è¿åâ â
openlark_core::validate_required!(field[.trim()], "...") - â空ç½ä¹ç®ç©ºâ â å符串ä¼
.trim()ï¼æä½¿ç¨å½æ°openlark_core::validation::validate_required - â夿¡æ ¡éªæ±æ»åè¿åâ â 彿°
validate_required+ èªå®ä¹èåé»è¾