製作表單時,我們總會面對這樣的提問:“能不能在我填寫的時候驗證我寫的對不對?”“能不能在我選擇否的時候這部分內容不顯示?”。
可以嗎?當然可以!在InfoPath中,我們可以快速實現這些要求,只要瞭解如何正確應用規則。
在InfoPath 2010 的Ribbon工具欄“開始”標籤中有個“管理規則”按鈕:
點擊按鈕,在界面右側即會出現“規則”任務窗格:
選擇已添加到視圖中的任何一個控件:
點擊“新建”即可看到,我們可以在控件上添加三種規則:驗證、格式、操作。
【驗證】
驗證對應着InfoPath 2007中的“數據驗證”,指的是在填寫數據時對內容進行驗證。比如手機號碼應當必須爲11位數字,如果不符合則應認定爲無效數據,同時應該提醒用戶檢查填寫。
首先我們需要先選中綁定“手機號碼”的文本框,然後在右側的任務窗格中,點擊新建下拉框中的“驗證”:
在詳細信息中輸入“驗證手機號碼必須爲11位數字”:
點擊“條件”下方的“無”:
在彈出的對話框中我們可以指定判定數據無效的條件,系統內置了多種比較符,很方便,本例中我們選擇“不匹配模式”:
在右側的下拉框中選擇“選擇模式”:
模式是使用正則表達式來規定的。在數據項模式中可以看到,內置了“URL”“電子郵件地址”和“郵編”,也就是說,如果我們需要驗證某個字段是否符合這三個格式之一,就可以直接選擇使用了。這裏我們需要驗證的格式是“11位數字”,不在內置的格式之中,所以選擇“自定義模式”:
在下方的“插入特殊字符”的下拉選項框中,我們可以選擇插入需要的字符,也可以直接在文本框中輸入:
這裏我們指定的模式是11位數字,點擊確定。
回到“規則”任務窗格,在“屏幕提示”中填寫提示文字。
在屏幕提示下方還有“顯示更多選項”,點開可以看到有關消息對話框的設置:
默認情況下,當數據填寫的格式不對時,僅會顯示出屏幕提示,還可以選擇同時“顯示屏幕提示和對話框消息”,不過注意,只有在客戶端打開表單時纔可能彈出對話框,瀏覽器是不支持的:
預覽的效果如下圖所示:
如果選了彈出對話框,且在客戶端打開,效果是這樣的: