問題描述
我從來沒有看到的東西是驗證特定表單字段正確填寫自定義帖子類型元框的最佳方式。
我正在尋求如何最好地驗證可能創建的任何 metaboxes 的自定義字段的專家意見。我的興趣是:
-
確保字段驗證發生在發佈/更新發布之前
-
利用不與其他 wordpress javascript 衝突的類/代碼
-
允許您根據需要定義特定字段,而其他字段可以是可選的
-
根據可定製的規則驗證字段,包括電子郵件格式等正則表達式
-
控制任何錯誤/通知的視覺顯示
提前致謝!
最佳解決方案
最簡單的方法是通過 jQuery Validate plugin 添加 Javascript 驗證。這是最基本的演練:
在您的 add_meta_box 調用附近,排列 jQuery Validate 插件以及簡單腳本的 JS 文件:
add_action('admin_enqueue_scripts', 'add_my_js');
function add_my_js(){
wp_enqueue_script('my_validate', 'path/to/jquery.validate.min.js', array('jquery'));
wp_enqueue_script('my_script_js', 'path/to/my_script.js');
}
那麼在 my_script.js 中包括以下內容:
jQuery().ready(function() {
jQuery("#post").validate();
});
這將使後驗表單上的驗證。然後在您定義自定義字段的 add_meta_box 回調中,您可以為要驗證的每個字段添加一個”required” 類,如下所示:
<input type="text" name="my_custom_text_field" class="required"/>
所有在”required” 的所有字段都將在保存/發佈/更新後驗證。所有其他驗證選項 (規則,錯誤樣式等) 都可以在 my_script.js 中的 document.ready 函數中設置; 檢查所有選項的 jQuery 驗證文檔。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。