這是東拼西揍出來的結果:
20130422-Fix-為了達到Client端驗証Alert及顯示錯誤區塊,直接對jquery.validate修改;參考:http://goo.gl/0ILsC
原先結果:(於該欄位後呈現)
修改後結果:點「查詢」後,顯示所有的Alert
修改後結果:將有錯的區塊套CSS
修改後結果:修正一個後,移除錯誤CSS
============================
以上是動線結果,
修正的地方:直接對 jquery.validate.unobtrusive.js 修改。
function onErrors(event, validator):
--此 function 可以 取得所有錯誤的資訊。
validator.numberOfInvalids(): 錯誤數。
validator.errorList:錯誤列。
validator.errorList.length:錯誤數量。
validator.errorList[x].message:該筆錯誤訊息。
function onError(error, inputElement):
--這Function 是每一個每一個元件 loop 。
ex: 頁面上有5個元件驗証,2個有錯時,此Func會跑5次,有錯的那兩個 error[0].innerText會是該錯誤訊息。(所以於此加上 error CSS)
(THE END)
20130422-Fix-為了達到Client端驗証Alert及顯示錯誤區塊,直接對jquery.validate修改;參考:http://goo.gl/0ILsC
原先結果:(於該欄位後呈現)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNRjMVcX_Uit5WG3fitJimAOB74pwF5OgrEbGFPIxXIODAB9g_U7-efHgIwP8YCAEKva-RlpwDSYA9ok0r3j6IblOMAzu_zuZJ6bYPic2q1YLPoR3K3qeUTXWnX5LB7uHuDKIHNifczJt1/s640/2013-4-22+%E4%B8%8B%E5%8D%88+02-28-55.png)
修改後結果:點「查詢」後,顯示所有的Alert
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-CIANm4ObvCJL7CLnSq6dalOrn1D247wbIWPoVbebzO9B7p-77vOf2J2crwaHf9Bzq9ofkdvxH4AVZJL6Ptg6qBGC7H84DdxPw8xJjfMUyPfqGf514_7FHmCos-eDNjadDgglGKGsgG4K/s640/2013-4-22+%E4%B8%8B%E5%8D%88+02-27-37.png)
修改後結果:將有錯的區塊套CSS
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzLzUCf2FsjY8N5zxe-XLxrjchRP8Daxvh4Y_otquS6w3NmOjs3jbhHj526vpYJs0qJtQG2ZHKH58fbIYABuR20aSr-Ej6_BHm3oh0WihDcerUAVBGV9sJiybT8uCG6wNBMfCB7YXpBn8G/s640/2013-4-22+%E4%B8%8B%E5%8D%88+02-27-57.png)
修改後結果:修正一個後,移除錯誤CSS
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCYtGe5TrAOPKiGccA5PiSiF7ZBZLDio3azA7IG6hKVsqyDG_5hAgz1ntSXe_pSmDaAtJNPsl0TmCMWMdWLAwet6GCCLp3aA7Iz6yW61eJX8aYmjRXilVmNQR-MLgIamXJ6R3vSiQ3EBls/s640/2013-4-22+%E4%B8%8B%E5%8D%88+02-28-20.png)
============================
以上是動線結果,
修正的地方:直接對 jquery.validate.unobtrusive.js 修改。
function onErrors(event, validator):
--此 function 可以 取得所有錯誤的資訊。
validator.numberOfInvalids(): 錯誤數。
validator.errorList:錯誤列。
validator.errorList.length:錯誤數量。
validator.errorList[x].message:該筆錯誤訊息。
function onError(error, inputElement):
--這Function 是每一個每一個元件 loop 。
ex: 頁面上有5個元件驗証,2個有錯時,此Func會跑5次,有錯的那兩個 error[0].innerText會是該錯誤訊息。(所以於此加上 error CSS)
function onError(error, inputElement) { // 'this' is the form element var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), replace = $.parseJSON(container.attr("data-valmsg-replace")) !== false; container.removeClass("field-validation-valid").addClass("field-validation-error"); error.data("unobtrusiveContainer", container); if (replace) { container.empty(); error.removeClass("input-validation-error");//.appendTo(container); //20130422-Fix-錯誤動線 if(error[0].innerText=="") $(inputElement).removeClass("errorblock");//加上錯誤CSS else $(inputElement).addClass("errorblock"); } else { error.hide(); } }
function onErrors(event, validator) { // 'this' is the form element //20130422-Fix-錯誤動線 var errors = validator.numberOfInvalids(); var message = "請修正下列 " + errors + " 個錯誤:"; for (var x = 0; x < validator.errorList.length; x++) { message += "\n\u25CF " + validator.errorList[x].message; } alert(message); }
(THE END)
0 意見 :
張貼留言