Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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
rails jquery ajax表单验证_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

rails jquery ajax表单验证

rails jquery ajax表单验证,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我想用jquery做一些ajax表单验证。一切就绪,我可以在json对象中返回我的错误,如下所示: errors => { "first_name": "cannot be blank", "password": "cannot be blank", "last_name": "cannot be blank", "email": "cannot be blank"} 如果我只想在顶部显示错误消息,那么这很好。然而,我还想做一些类似于内置rails valdation的事情,它用一个'f

我想用jquery做一些ajax表单验证。一切就绪,我可以在json对象中返回我的错误,如下所示:

errors => {
"first_name": "cannot be blank",
"password": "cannot be blank",
"last_name": "cannot be blank",
"email": "cannot be blank"}
如果我只想在顶部显示错误消息,那么这很好。然而,我还想做一些类似于内置rails valdation的事情,它用一个'fieldWithErrors'div包围和错误字段(实际上我只想将类'fieldWithErrors'附加到错误输入中)

我不确定查找适当错误字段并添加error div的rails magic的确切位置,但我正在寻找该代码,以便返回包含错误消息的json对象,以及错误字段的实际ID,以便使用适当的类对其进行更新。当然,我可以将对象名(本例中的用户)前置到json对象中返回的“field”(即“first_name”)中,但是我希望它是一个通用函数,适用于我拥有的任何形式


有人能告诉我错误字段的实际ID是在哪里生成的吗。我希望能够像@object.errors[:first\u name].field\u id这样返回一个类似于上面的json对象,除了我的键'first\u name'实际上是'user\u first\u name',错误字段的id。

在actionpack/lib/action\u view/helpers/form\u helper.rb中查看Rails是如何实现的

以下是表单_helper.rb中确定标记ID的方法

    def tag_id
      "#{sanitized_object_name}_#{sanitized_method_name}"
    end

    def sanitized_object_name
      @sanitized_object_name ||= @object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "")
    end

    def sanitized_method_name
      @sanitized_method_name ||= @method_name.sub(/\?$/,"")
    end

谢谢你给我指明了正确的方向。您熟悉表单帮助文件吗?我可以看到一些地方有一个tag_id方法,但这是在类InstanceTag中。我不知道如何将@user对象属性转换为tag_id