Hibernate JavaScript驗證程序
Hibernate還是比較常用的,于是我研究了一下Hibernate JavaScript驗證程序,在這里拿出來和大家分享一下,希望對大家有用。
簡單的Hibernate JavaScript驗證程序
盡管標簽文件生成的 HTML 文件可以幫助防止一些錯誤的產(chǎn)生,但是在視圖層并沒有任何代碼來真正進行錯誤檢查。由于可以使用類屬性,現(xiàn)在就可以添加一些簡單的JavaScript來實現(xiàn)這種功能了,這里的JavaScript也可以是通用的,在任一表單中都可以重用。
- <script type="text/javascript">
- function checkRequired(form) {
- var requiredLabels = document.getElementsByClassName("required", form);
- for (i = 0; i < requiredLabels.length; i++) {
- var labelText = requiredLabels[i].firstChild.nodeValue;
- // Get the label's text
- var labelFor = requiredLabels[i].getAttribute("for");
- // Grab the for attribute
- var inputTag = document.getElementById(labelFor);
- // Get the input tag
- if (inputTag.value == null || inputTag.value == "") {
- alert("Please make sure all required fields have been entered.");
- return false; // Abort Submit
- }
- }
- return true;
- }
- </script>
這個JavaScript是通過為表單聲明添加 onsubmit="return checkRequired(this);" 被調(diào)用的。這個腳本簡單地獲取具有所需要的類的表單中的所有元素。由于我們的習慣是在標簽標記中使用這個類,因此代碼會通過 for 屬性來查找與這個標簽連接在一起的輸入域。如果任何輸入域為空,就會生成一條簡單的警告消息,表單提交就會取消??梢院唵蔚貙@個腳本進行擴充,使其掃描多個類,并相應(yīng)地進行驗證。
對于基于JavaScript的綜合的驗證集合來說,***是使用開源實現(xiàn),而不是自行開發(fā)。
- onclick="new Effect.SlideDown('creditCardHelp')"
這個函數(shù)是 Script.aculo.us 庫的一部分,這個庫提供了很多高級的效果。如果正在使用 Script.aculo.us,就需要對所構(gòu)建的內(nèi)容使用 Prototype 庫。JavaScript驗證庫的一個例子是由 Andrew Tetlaw 在 Prototype 基礎(chǔ)上構(gòu)建的。(請參看 參考資料 一節(jié)中的鏈接。)他的框架依賴于被添加到輸入域的類:
- <input class="required validate-number" id="field1" name="field1" />
可以簡單地修改 text.tag 的邏輯在 input 標簽中插入幾個類。將 class="required" 添加到輸入標簽和 label 標簽中不會影響 CSS 規(guī)則,但會破壞簡單Hibernate JavaScript驗證程序。如果要混合使用框架中的代碼和簡單的JavaScript代碼,***使用不同的類名,或在使用類名搜索元素時確保類名有效并檢查標簽類型。
【編輯推薦】