fn validate_link(
name: &str,
url: &str,
avatar_url: Option<&str>,
description: &str,
) -> Result<Option<String>, AppError>Expand description
校验友链字段并返回归一化后的头像 URL。
规则(全部 AppError::BadRequest,消息原样透传给后台表单):
nametrim 后非空且 ≤ 64 字符;urltrim 后必须http:///https://前缀且 ≤ 512 字符(仅前缀检查, 不引入完整 URL 解析);avatar_url:None或 trim 后为空 → 归一化为None;否则同 url 规则;descriptiontrim 后 ≤ 200 字符。