不使用jquery validate的最小值规则

不使用jquery validate的最小值规则,jquery,ruby-on-rails-4,jquery-validate,Jquery,Ruby On Rails 4,Jquery Validate,我有这个验证代码,当我把文本放在数字字段中时,它看起来工作正常,但当我把值放在1以下时,它在规则中设置为min,即使它应该显示,也不会显示任何消息 jQuery(function() { $('#payment_amount').validate({ lang: 'sk', rules: { "payment[amount]": { required: true, min: 1,

我有这个验证代码,当我把文本放在数字字段中时,它看起来工作正常,但当我把值放在1以下时,它在规则中设置为min,即使它应该显示,也不会显示任何消息

jQuery(function() {
    $('#payment_amount').validate({
        lang: 'sk',
        rules: {
          "payment[amount]": {
            required: true,
            min: 1,
            max: 9999999 
          }
        },
        highlight: function(element) {
          $(element).parent().addClass('state-error');
        },
        unhighlight: function(element) {
          $(element).parent().removeClass('state-error');
        }
      });
    });
当我在不同的页面上使用相同的代码并输入类型编号时,检查最小值是有效的

这就是我创建输入字段的方式

<%= f.number_field :amount, :style=>"-moz-appearance:textfield;", :required=> true %>
$('form').validate({
    lang: 'sk',
    rules: {
      'payment[amount]': {
        min: 1
      }
    },
    highlight: function(element) {
      $(element).parent().addClass('state-error');
    },
    unhighlight: function(element) {
      $(element).parent().removeClass('state-error');
    }
  });
“-moz外观:textfield;”,:required=>true%>
这是html

<input type="number" id="payment_amount" name="payment[amount]" required="required" style="-moz-appearance:textfield;" aria-required="true" novalidate="novalidate" aria-invalid="false">

我遗漏了什么吗?

好的,我找到了解决办法 不知道为什么,但即使是标准验证也在#元素上工作,最小值仅在我使用表单作为元素时有效,而不是#输入字段

<%= f.number_field :amount, :style=>"-moz-appearance:textfield;", :required=> true %>
$('form').validate({
    lang: 'sk',
    rules: {
      'payment[amount]': {
        min: 1
      }
    },
    highlight: function(element) {
      $(element).parent().addClass('state-error');
    },
    unhighlight: function(element) {
      $(element).parent().removeClass('state-error');
    }
  });

您已使用
id=“payment\u amount”
.validate()
方法附加到输入字段中

$('#payment_amount').validate({
    lang: 'sk',
    rules: {
      "payment[amount]": {
      ...
但是,您应该将
.validate()
方法附加到
表单
元素,以初始化表单上的插件;这就是为什么在
规则
对象中指定每个字段
名称

$('#my_form_id').validate({ // <- attach to the form; these are the options for this form
    lang: 'sk',
    rules: {
      "payment[amount]": { // <- the field name is specified here
      ...

$('#my_form_id').validate({//将
.validate()
方法附加到
表单
元素以初始化表单上的插件;这就是为什么在
规则
对象中指定每个字段
名称