Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 仅仅依靠后端验证在前端验证表单是否疯狂?_Ruby On Rails_Ruby On Rails 3_Forms_Html_Validation - Fatal编程技术网

Ruby on rails 仅仅依靠后端验证在前端验证表单是否疯狂?

Ruby on rails 仅仅依靠后端验证在前端验证表单是否疯狂?,ruby-on-rails,ruby-on-rails-3,forms,html,validation,Ruby On Rails,Ruby On Rails 3,Forms,Html,Validation,我正在我的Rails 3应用程序中编写一些表单视图,我想知道其他人可能会做些什么来以干燥的方式验证前端和后端的表单 当然,如果没有rails验证,似乎无法绕过后端验证。知道了这一点,在前端编写相同的验证似乎不是很枯燥。我读过一些关于在两个地方编写验证的其他文章,但除非有真正好的理由这样做,否则我宁愿不这样做 了解rails的魔力,可能有一种简单、简单的方法来以一种干燥的方式验证前端和后端,但我还没有发现它。也许是一块宝石 所以我认为在我的前端使用ajax,在我的用户模型上调用验证器方法会更好。例

我正在我的Rails 3应用程序中编写一些表单视图,我想知道其他人可能会做些什么来以干燥的方式验证前端和后端的表单

当然,如果没有rails验证,似乎无法绕过后端验证。知道了这一点,在前端编写相同的验证似乎不是很枯燥。我读过一些关于在两个地方编写验证的其他文章,但除非有真正好的理由这样做,否则我宁愿不这样做

了解rails的魔力,可能有一种简单、简单的方法来以一种干燥的方式验证前端和后端,但我还没有发现它。也许是一块宝石

所以我认为在我的前端使用ajax,在我的用户模型上调用验证器方法会更好。例如,客户端上的“我的用户名”字段侦听jquery按键,然后将字段内容发送到名为“checkuser”的用户控制器方法(或类似方法)。考虑到每个模型有5个或更多字段,我的控制器中可能会有很多额外的字段检查方法。。。太丑了


这样做有什么我应该知道的警告吗?我真的应该关心那些禁用javascript的人吗

我将在ASP.NET背景下回答这个问题。因此,如果可能的话,请原谅一些错误

在ASP.NET中有一个DataAnnotation概念,简而言之是这样的:对于每个经过验证的类,元数据都是按照“Required”或“MinLength(8)”等属性指定的。这提供了干验证——在客户端,这些被自动映射到jquery函数,在服务器上,这些被运行时使用

顺便说一句,在大多数情况下,验证双方都是必须的,因为这将防止服务器负载过大(在客户端验证时),并防止错误的数据插入数据库(在服务器端验证时)


在简单的谷歌搜索之后,rails中似乎存在类似的方法,如本文所述。

我将在ASP.NET背景下回答这个问题。因此,如果可能的话,请原谅一些错误

在ASP.NET中有一个DataAnnotation概念,简而言之是这样的:对于每个经过验证的类,元数据都是按照“Required”或“MinLength(8)”等属性指定的。这提供了干验证——在客户端,这些被自动映射到jquery函数,在服务器上,这些被运行时使用

顺便说一句,在大多数情况下,验证双方都是必须的,因为这将防止服务器负载过大(在客户端验证时),并防止错误的数据插入数据库(在服务器端验证时)


在简单的谷歌搜索之后,rails中似乎存在类似的方法,如本文所述。

是的,我认为你是对的,降低客户端请求可能是在客户端上复制代码的充分理由。是的,我认为你是对的,降低客户端请求可能是在客户端上复制代码的充分理由。