HTML表单必填字段

时间:2012-11-11 23:14:19

标签: html ruby-on-rails

我在Rails中有一个HTML表单,如

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

我希望title成为必填字段(即用户不能将其留空。)如何验证用户填写的内容?我应该在客户端还是服务器端执行此操作?我的感觉是,在用户没有填写的情况下,在客户端进行会保存与服务器的通信。

4 个答案:

答案 0 :(得分:1)

您可以同时执行这两项操作,但至少应该在服务器上执行此操作。请记住,任何客户端都可以轻松绕过任何客户端验证,这会导致您的代码可能崩溃。

您可以在模型中轻松完成:

validates_presence_of :title

在客户端上有各种方法可以做到这一点。最简单的可能是在输入标记上使用required html5属性。您还可以使用validatious之类的JavaScript库,您可以使用this Rails plugin根据服务器端验证自动生成客户端验证。

答案 1 :(得分:0)

如果你真的想要安全起见,你必须在服务器上做到这一点。客户端验证仅为方便起见。

答案 2 :(得分:0)

您应该在客户端上进行此操作,因为它对用户来说更方便(更好的用户体验)。

并且,如果客户端验证失败,请在服务器上执行此操作(因为JavaScript已关闭,或者客户端代码中存在错误,或者浏览器不受支持,或者恶意破解者试图发送垃圾邮件到你的服务器等。)。

答案 3 :(得分:0)

在客户端和服务器端进行验证..

客户端验证不安全,可以废弃..,

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