2012-11-11 146 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 ..,

服务器端验证,必须执行,不能绕过