2013-02-11 105 views
0

我希望能夠在上傳文件之前驗證文件上傳控件。我當然想要提供一個文件名,但更重要的是不包含任何空格的文件名。在使用時驗證文件上傳?

如果我使用傳統驗證,則每次保存表單時都會驗證控件。

有沒有辦法阻止用戶選擇我不想要的文件名?

回答

1

我在我目前的項目中這樣做。上傳前我使用CSJS檢查文件名。在這個例子中,我使用了一個按鈕,將文件上傳控件和其他幾個字段添加到新文檔中。你可以改變它來檢查一個特定的文件名並檢查空格。我的上傳控件名爲「fileUpload3」,你的名字就是你的名字。

var x=document.getElementById("#{id:fileUpload3}").value; 

if (x==null || x=="" || x.slice(-3) != "pdf") 
{ 
    alert("Store Transfer details in PDF format are required."); 
    return false; 
} 
+0

我很困惑。這段代碼去哪裏?你是否說你有另一個導致文件上傳顯示的按鈕?用戶是否需要按一個按鈕,然後按下文件上傳控制按鈕? – 2013-02-12 13:06:26

+0

嗨布魯斯,在我的例子中,我有一個用戶按下的按鈕來輸入新記錄,在我的情況下是一個商店轉移。文件上傳控件不會隱藏,並且包含在用戶必須輸入的其他字段中。在按下按鈕之前,他們進入所有區域。我把上面的代碼放在button的客戶端onclick事件中。我在Server onClick事件中擁有所有SSJS。所以,它必須在SSJS代碼運行之前先通過客戶端。這聽起來像你可能想要在用戶上傳後立即驗證的東西。您可以嘗試將代碼放在控件的onChange事件中。 – 2013-02-12 15:12:53

+0

此外,您可能知道這一點,但爲了使附件上傳,您必須完全刷新。部分刷新不起作用。 – 2013-02-12 15:19:28