星期日, 10月 10, 2010

jQuery Plugin - form validation


下載及介紹請參考官網


因為資料太少了
所以用法是看原始碼才懂的...=~=
趕快記在這邊以免忘記!


原本的提示是英文的,自己簡單翻譯成中文

jquery.validationEngine-tw.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
(function($) {
$.fn.validationEngineLanguage = function() {};
$.validationEngineLanguage = {
newLang: function() {
$.validationEngineLanguage.allRules = { "required":{ // Add your regex rules here, you can take telephone as an example
"regex":"none",
"alertText":"* 需要填入此欄位",
"alertTextCheckboxMultiple":"* 請選擇一個選項",
"alertTextCheckboxe":"* 請選擇一個選項"},
"length":{
"regex":"none",
"alertText":"* 請填入 ",
"alertText2":" 到 ",
"alertText3": " 個字"},
"maxCheckbox":{
"regex":"none",
"alertText":"* 超過最大允許的字元數"},
"minCheckbox":{
"regex":"none",
"alertText":"* 請選擇選項 ",
"alertText2":" "},
"confirm":{
"regex":"none",
"alertText":"* 兩次輸入的值不相同"},
"telephone":{
"regex":"/^[0-9\-\(\)\ ]+$/",
"alertText":"* 錯誤的電話號碼"},
"email":{
"regex":"/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/",
"alertText":"* 錯誤的電子郵件"},
"date":{
                         "regex":"/^[0-9]{4}\-\[0-9]{1,2}\-\[0-9]{1,2}$/",
                         "alertText":"* 錯誤的日期, 請以 YYYY-MM-DD 的格式輸入"},
"onlyNumber":{
"regex":"/^[0-9\ ]+$/",
"alertText":"* 只允許數字"},
"noSpecialCaracters":{
"regex":"/^[0-9a-zA-Z]+$/",
"alertText":"* 不允許特殊字元"},
"ajaxUser":{
"file":"validateUser.php",
"extraData":"name=eric",
"alertTextOk":"* 此使用者已通過驗證",
"alertTextLoad":"* 讀取中.. 請稍後",
"alertText":"* This user is already taken"},
"ajaxName":{
"file":"validateUser.php",
"alertText":"* This name is already taken",
"alertTextOk":"* This name is available",
"alertTextLoad":"* Loading, please wait"},
"onlyLetter":{
"regex":"/^[a-zA-Z\ \']+$/",
"alertText":"* 只允許輸入英文字母"},
"validate2fields":{
     "nname":"validate2fields",
     "alertText":"* 需要輸入姓和名"}
}
}
}
})(jQuery);
$(document).ready(function() {
$.validationEngineLanguage.newLang()
});

接著

<script type="text/javascript" src="js/jquery.validationEngine-tw.js"></script>
<script type="text/javascript" src="js/jquery.validationEngine.js"></script>



原本就不打算用內附的ajax
然而只有在form送出的時候,才會觸發驗證
我使用div的話就沒辦法

所以改用其他方法

送出:

1
2
3
4
5
6
7
8
9
10
11
function SubmitLoginForm()
{
$('#LoginForm').validationEngine({returnIsValid:true,promptPosition:"centerRight"});//.loadValidation('#LoginForm');
rs = $.validationEngine.isError;
if(rs == false)
{
$('#LoginForm').dialog("close");//*/
$.post('loginCheck.php',{ 'user': $('#user').val(), 'pass': $('#pass').val() }, function(data){ alert(data); });
}
else return false;
}


清除:

1
2
3
4
5
function ClearLoginForm()
{
$('#user').val("");
$('#pass').val("");
}

其他資料
http://www.36ria.com/1645

星期二, 10月 05, 2010

C# 中使用 WMI 設定網路介面卡修改IP

http://www.dotblogs.com.tw/PowerHammer/archive/2008/03/24/2075.aspx
http://code.javaeye.com/blog/507339

ADOdb

PHP ADODB 1.99版手冊中文翻譯
http://www.souzz.net/online/adobd.html
http://www.php5.idv.tw/documents/ADODB/

介紹
http://big5.webasp.net/article/12/11341.htm
http://achi.idv.tw/ADOdb%20Database%20Abstraction%20Library-2046.html

入門
http://www.csie.nctu.edu.tw/
~tsaiwn/course/introcs/history/linux/linux.tnc.edu.tw/techdoc/adodb/book1.html

中文tip
http://achi.idv.tw/ADOdb%20Library%20for%20PHP%20Manual-2051.html

PHP 對 Oracle 的存取

http://lordcongou.spaces.live.com/blog/cns!1D956D3BF5A646D!180.entry

php oracle 函式庫 : http://php.chinaunix.net/manual/zh/ref.oci8.php

不過後來我用ADOdb 存取 Oracle

Oracle 安裝

在 Windows 上啟用 PHP OCI8 擴展
Instant Client 二進制文件是 PHP 的 Windows 預構建二進制文件的補充。
  1. 下載 PHP 二進制壓縮文件(不是安裝程序版本)和 Apache。按照 PHP 手冊中的 Windows 系統上的安裝安裝它們。OTN 的開放源代碼開發人員中心包含有用背景資料的鏈接,如「在 Windows 2000/XP 上安裝 Oracle、PHP 和 Apache」,它介紹了如何安裝傳統、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。
    繼續操作之前檢查 PHP 是否正常運行。此階段未啟用 Oracle 支持。
  2. 從 OTN 的 Instant Client 頁面下載用於 Windows 的 Instant Client Basic 程序包。此壓縮文件的大小大約為 30MB。
  3. 創建一個子目錄(例如,c:\instantclient10_1),然後從壓縮文件中複製以下庫:
    • oraociei10.dll
    • orannzsbb10.dll
    • oci.dll
    這三個文件的總大小大約為 80MB。
    要使用 PHP 老版本的「oracle」擴展(在 php.ini 中使用「extension=php_oracle.dll」啟用),則複製 ociw32.dll 而非 oci.dll。
  4. 編輯此環境,將 c:\instantclient10_1 添加到 PATH 中(位於其他 Oracle 目錄之前)。
    例如,在 Windows 2000 上,依次單擊「開始」->「設置」->「控制面板」->「系統」->「高級」->「環境變量」,編輯系統變量列表中的 PATH。
    如果使用了 tnsnames.ora 文件定義 Oracle Net 服務名稱,則將 tnsnames.ora 複製到 c:\instantclient10_1,並將用戶環境變量 TNS_ADMIN 設置為 c:\instantclient10_1。也可以在用戶環境變量 LOCAL 中定義默認的服務名稱。
    設置必要的 Oracle 全球化語言環境變量,如 NLS_LANG。如果沒有設置,則使用默認的本地環境。有關更多詳細信息,請參見Oracle PHP 應用程序全球化概述
    無需設置不必要的 Oracle 變量,如 ORACLE_HOME 和 ORACLE_SID。
  5. 編輯 php.ini,並不要將 OCI8 擴展設為註釋:
    extension=php_oci8.dll
    
    將 extension_dir 指令設置為完整的 PHP 擴展 DLL 路徑。在 PHP 4 中,DLL 位於 PHP 軟件的「extensions」子目錄中。在 PHP 5 中,它們位於「ext」中。
  6. 重新啟動 Apache。
要檢查是否配置了擴展,請在 web 服務器可以讀取的地方創建一個簡單的 PHP 腳本。




<?php 
phpinfo();
?>

使用「http://」URL 將此腳本加載到瀏覽器中。瀏覽器頁面應包含一個顯示「OCI8 Support enabled」的「oci8」部分




參考至官網: http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html
其他參考:
http://a159874a.pixnet.net/blog/post/12647770
http://blog.ixpub.net/16565802/viewspace-364481

星期六, 10月 02, 2010

C#程式以系統管理員的身份執行 (UAC)

在Vista或win7中,執行一些會修改到系統的程式時,系統會向你要求管理權限,否則會執行失敗
C#預設則是使用目前的標準權限,所以執行一些指令就會因為權限不足失敗


參考一下MSDN上的說明:
在 Windows Vista 中,使用者的權限是由使用者帳戶控制項 (UAC) 決定。如果您是內建 Administrators 群組的成員,系統會將兩個執行階段存取語彙基元 (Token) 指派給您:標準使用者存取語彙基元及管理員存取語彙基元。根據預設,您會屬於標準使用者角色。若要執行會存取效能計數器的程式碼,您必須先將您的權限從標準使用者提高為系統管理員。您可以在啟動應用程式時進行這項處理,其方式是以滑鼠右鍵按一下應用程式圖示,並指出您想要以系統管理員的身份執行。


解決:
1.在應用程式中,加入一個【應用程式資訊清單檔案 / app.manifest】。
2.修改新加入的app.manifest內容,在requestedExecutionLevel中,把level 的值改為requireAdministrator。


1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" >
  <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="someExecName" type="win32" />
  <description>Program description</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>


參考:
http://www.dotblogs.com.tw/jjnnykimo/archive/2009/05/08/8346.aspx
http://www.dotblogs.com.tw/dotnetfactory/archive/2008/12/01/6152.aspx