当存在错误时,jQuery.validation rails gem提交

时间:2016-03-17 00:46:28

标签: jquery

我使用的是jQuery.validation rails gem,与插件基本相同,默认情况下,如果存在错误,它应该会阻止我的表单提交。 出于某种原因,即使我正在盯着错误,它也会提交。 请让我知道为什么,因为我花了很多时间在这上面!!

$('.edit_profile').validate({
rules: {
    'profile[first_name]': {
      required: true,
      minlength: 2
    },
    'profile[last_name]': {
      required: true,
      minlength: 2
    },
    'profile[location]': {
      required: true,
      minlength: 2
    },
    'profile[birthday]': {
      check_date_of_birth: true,
      required: true
    },
    'profile[operating_system]': {
      required: true,
      minlength: 1
    },
    'profile[about_me]': {
      required: true,
      minlength: 5,
      maxlength: 500
    },
  }
});

1 个答案:

答案 0 :(得分:0)

首先,确保顶部的选择器实际上是选择表单元素本身而不是任何包装div或其他东西。然后,使用要验证的每个字段的name属性。它不接受您正在使用的语法。

如果你的HTML看起来像这样:

<form class="profile">
    <input type="text" name="first_name" />
    <input type="text" name="last_name" />
    ...
</form>

然后验证的正确方法是:

$('.profile').validate({ // select the form
rules: {
    first_name: { // use the "name" property as the "key" for each rule
      required: true,
      minlength: 2
    },
    last_name: {
      required: true,
      minlength: 2
    },
    ...
  }
});

Here's the documentation.