2012-11-11 176 views
2

我在Rails的像HTML表單必填字段

<form name="input"> 
    Title: <input type="text" name="title"> 
    <input type="button" value="Submit"> 
</form> 

我想title是一個必填字段的HTML形式(即用戶不能留空。)我如何驗證用戶在充滿東西?我應該在客戶端還是在服務器端?我的感覺是,這樣做在客戶端將節省通信服務器在用戶沒有填寫的情況下。

回答

1

你都可以做,但至少它應該做的服務器上。請記住,任何客戶端都可以輕鬆繞過任何客戶端驗證,這會導致您的代碼可能被破壞。

您可以用模型做很容易:

validates_presence_of :title 

在客戶端上也有如何做到這一點的各種方式。最簡單的方法是使用輸入標籤上的required html5屬性。您也可以使用像validatious這樣的javascript庫,爲此您可以使用this Rails plugin根據您的服務器端驗證自動生成客戶端驗證。

0

如果你想成爲真正安全起見,你必須這樣做,在服務器上反正。客戶端驗證僅僅是爲了方便。

0

你應該這樣做在客戶端上,因爲它更方便用戶(更好的用戶體驗)。

而且,如果客戶端驗證失敗(因爲JavaScript被關閉,或者客戶端代碼或不受支持的瀏覽器或惡意黑客嘗試向您發送垃圾文件服務器等)。

0

請在客戶端和服務器端驗證..

客戶端驗證是不是安全的,可以disbaled ..,

服務器端驗證,必須執行,不能繞過