Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery Rails:为什么数据没有';在文本_字段中添加自定义名称属性时,是否无法提交?_Jquery_Ruby On Rails_Validation_Ruby On Rails 5_Formvalidation.io - Fatal编程技术网

Jquery Rails:为什么数据没有';在文本_字段中添加自定义名称属性时,是否无法提交?

Jquery Rails:为什么数据没有';在文本_字段中添加自定义名称属性时,是否无法提交?,jquery,ruby-on-rails,validation,ruby-on-rails-5,formvalidation.io,Jquery,Ruby On Rails,Validation,Ruby On Rails 5,Formvalidation.io,当在text_字段中添加name属性时,数据不会被提交,当我删除name属性时,数据会被提交,但jquery验证不起作用。我正在使用jquery formvalidation.io插件进行验证,我想在text_字段中添加一个自定义名称属性以进行验证。到目前为止,我发现很难理解,我尝试在text_字段中添加这样的“'name'=>'test'”,但没有用,希望有人能想出一个解决方案,这样jquery验证和数据提交都可以正常工作,谢谢 这是我的HTML <section class="cont

当在text_字段中添加name属性时,数据不会被提交,当我删除name属性时,数据会被提交,但jquery验证不起作用。我正在使用jquery formvalidation.io插件进行验证,我想在text_字段中添加一个自定义名称属性以进行验证。到目前为止,我发现很难理解,我尝试在text_字段中添加这样的“'name'=>'test'”,但没有用,希望有人能想出一个解决方案,这样jquery验证和数据提交都可以正常工作,谢谢

这是我的HTML

<section class="content">
    <%= form_for(tbl_ad_test_overview, :html => {:class => "form-online", :id => "form", :style => "margin-left: 15px; width: 95%;"}) do |f|%>

            <div class="form-group">
                <%= f.label :test, 'Test Number *', class: 'font-color' %>
                <%= f.text_field :test, id: 'test', name:'test', placeholder: 'Test Number', class: 'form-control'%>
                <br>
            </div>

            <div class="form-group">
                <div class="col-lg-12 col-xs-offset-5">
                    <%= f.submit "Submit", id: 'validate', class: 'btn btn-primary'%>
                </div>
            </div>
    <% end %>
</section>
这是控制器中必需的参数

def tbl_ad_test_overview_params
    params.require(:tbl_ad_test_overview).permit(:test)  
end

您需要首先以正确的方式编写验证脚本,就像使用下面的示例代码一样

$(document).ready(function() {
    $('#loginForm').formValidation({
        framework: 'bootstrap',
        icon: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            username: {
                validators: {
                    notEmpty: {
                        message: 'The username is required'
                    },
                    stringLength: {
                        min: 6,
                        max: 30,
                        message: 'The username must be more than 6 and less than 30 characters long'
                    },
                    regexp: {
                        regexp: /^[a-zA-Z0-9_\.]+$/,
                        message: 'The username can only consist of alphabetical, number, dot and underscore'
                    }
                }
            },
            password: {
                validators: {
                    notEmpty: {
                        message: 'The password is required'
                    }
                }
            }
        }
    });
});
使用与上述格式类似的格式编写代码。如果自定义名称有问题,请编写脚本并使用嵌入脚本解析的名称提交表单。从我的观点来看,名称不应影响表单属性。

text\u字段(:post,:title,size:20)

#=>

form helpers
form_for
记录的帮助下生成默认名称,并向表单helpers添加自定义名称覆盖默认名称

您正在将默认名称(在您的情况下,它将是
tbl\u ad\u test\u overview[test]
)重写为
test
,这将导致提交失败

解决方案:

不要添加自定义名称,而是在Jquery验证中使用默认名称

<%= f.text_field :test, id: 'test', placeholder: 'Test Number', class: 'form-control'%>


并在Jquery验证中使用
“tbl\u ad\u test\u overview[test]”
而不是
test

是的,我已经读过了。根据你的回答,为什么我们不能在输入的自定义名称上添加验证。不,你没有读这个问题!我们可以为自定义名称编写验证,但OP的问题是在添加自定义属性时表单没有提交。告诉我你在这里谈论的是什么格式?@Bharatsoni谢谢你的方法,Pavan i right.@Pavan验证的格式有一些误导性的半列,如“validators:”,根据插件,这应该是正确的。我们看不到提问者的任何可视屏幕,但我们可以假设并给出答案。但这与您不能添加属性的自定义名称无关。感谢您的帮助,我尝试了您告诉我的内容,但现在验证不起作用。@SagarRS您是否已将字段名称更改为
tbl\u ad\u test\u overview[test]
?在JQUERY(tbl_ad_test_overview[:test]:{……}@SagarRS No中,保持
文本字段
如下
并在validation中使用
tbl_ad_test_overview[test]
嘿@Pavan我尝试过它,它试图在未经验证的情况下提交,我在堆栈溢出中提问之前就尝试过这个方法。
<%= f.text_field :test, id: 'test', placeholder: 'Test Number', class: 'form-control'%>