jQuery validation 的 addMethod

Thursday, March 27, 2008

jQueryValidation plugins 是很強大的,基本上可以滿足各種需要。剛剛被一個小問題困擾了好一陣子,特此記下。我寫了類似的東西:

HTML:
  1. <div id=“error” style=“display:none”><ul></ul></div>
  2.  <form id=“form1”>
  3.      <input type=“hidden” name=“fff” id=“fff” value=“” class=“special” />
  4.  </form>

JavaScript:
  1. $.validator.addMethod(“special”, function(value, element, params){
  2.     //validate….
  3.     return result;
  4.  }, “This is a special checking”);
  5.  
  6.  $(document).ready(function(){
  7.      $(“#form”).validate({
  8.         messages:{ fff: {special: “This is a special checking!”} },
  9.         errorContainer: “#error”,
  10.         errorLabelContainer: “#error ul”,
  11.         wrapper: “li”
  12.      });
  13.  });

結果怎樣也出不到那個自訂的 validation rule,苦苦深研追踪 source code 後才發現,問題在於 addMethod 裏的 method 參數問題,而正確的寫法是:

JavaScript:
  1. $.validator.addMethod(“special”, function(){
  2.     //validate…
  3.     return result;
  4.  }, “This is a special checking”);

那個 method 的參數數量如果大於 3,plugins 會認為你所加的是有參數的 validation,即在 element class 可能是 {special:abc} 之類,所以當看到 input 裏只是 special 就不會偵測到。

這樣很「正路」吧?但花了不少時間去看才知道。

網絡暴民之 CLI

Monday, January 22, 2007

CLI

CLI,Commmand Line Interface 也,用在 Blog 上雖不實用,但很好玩: 進入 CLI 模式

跟據 終極邊疆 那邊的提供的 plugin 來安裝 CLI 此 wordpress theme,但遇上不少問題,紀錄如下:

  • plugins 不知怎的抓不到 $_SERVER[‘SCRIPT_URL’],結果自己砌
  • hosting 好像沒有 ImageMagik,所以關掉了該功能,但還是讀不到有圖的文章,結果將整段相關的程式碼都 comment 了。
  • 因為本人用 textile ,所以也要調整用 textile 輸出內文
  • $_SESSION 不知怎地常常被 reset,經過一番試驗後,將 session_start 放在 require statment 後就可以了

還好都搞定了。

歸位

Monday, March 13, 2006

網絡暴民的主站現在回復了,不過有所有資料要重新設定,就像是剛開戶口時一樣空空如也。

我弟很努力地為之前 seezone.net 的用戶再開戶口,設定資料庫等等。Blog system 決定轉用 WordPress ,本來想試用最近推出的多人版本 Lyceum,但因為太新了怕有什麼差池,所以乾脆每個人裝一個 WordPress 2.0.2 算了。

而我則要轉換近三個月的文章,由 Bloglines 裏的變成 MT 的 Import 格式。寫了一個小小的 Javascript 去做轉換工作,還好 Bloglines 所顯示的每一篇,在結構上都有設定到 class attribute,所以轉換不太難。只是 Bloglines 本身在顯示的時候,也有對內容做過「手腳」,所以要稍為修改一下。

比較麻煩的是,在 MT 時我是用 Textile 來貼文章的,而由於 Wordpress 的 Textile plugins 沒有 per post 的處理功能,所以那些從 Bloglines 轉過來的 html 要再轉換一次回 Textile,而 Textile 又不像 Markdown 那麼可以由 HTML 轉回 text ,所以都花了好些時間去修補,主要要改的是網摘文。另外,有一些中文繁體以外的文也掉了字,應該是我不小心。

除了 Import 回文章到 MT 裏外,我也上載了舊的 MT archives,令在 2005 年 11 月尾之前文章的 Permalink 不致於失效。

在 themes 方面,試了好幾個但都不太合意,總是覺得太花俏了點。結果就選現在這個 veryplaintxt ,非常簡約清淡,而且想日後加多點東西也不難。堅持「字大」,讀得舒舒服服。

而在 plugins 方面,裝了幾個基本: gravatar, recent comments, textile 2, wordpress Database backup 和 WP-Cron 。暫時我還想:

  • Tagging posts – 聽說 Ultimate Tag Warrior 不錯?
  • Site Statistics – 還未安裝任何 Statistics,我想列出 most read, most commented 文章等等
  • CAPTCHA and AntiSpam – 防止留言和 trackback spam
  • Cron backup – WP-Cron 也可以,但其 Backup 是 Daily 的,而我現在的文章就算 zip 了也有 900 多 KB,我想有沒有可以調時間的 Cron job?

不過 WordPress plugins 太多,實在眼花瞭亂。各位 Wordpress experienced users 有那些推介?