0

私はRubyの初心者コーダーであり、現在このプラグインを使用しようとしています。

ただし、現在、単純なRailsフォームの名前、電子メール、および電話番号のフィールドを検証するために作成したjavaScript検証コードは機能していません。これらのフィールドには何でも入力できますが、何も入力できません。送信されます(これは私が望んでいることではありません)。

/app/assets/javascripts/user.js.coffeeファイルのコードは次のとおりです。

$("#theform").validate({
rules: {
    name: {
        required:true,
        minlength:2,
        maxlength:50
    },
    email: {
        required: true,
        email: true
        minlength:2,
        maxlength:50
    },
    phone_number: {
        required: true,
        phoneUS: true,
        minlength:9,
        maxlength:20
    }
}
messages: {
    name: {
        required: "Please provide your name",
        minlength: jquery.format("At least {0} characters required!"),
        maxlength: "Too many characters!"
    },
    email: {
        required: "Please provide your email",
        email: "Your email address must be in the format of name@domain.com",
        minlength: jquery.format("At least {0} characters required!"),
        maxlength: "Too many characters!"
    },
    phone_number: {
        required: "Please provide your phone number",
        phoneUS: "Please provide a valid US phone number",
        minlength: jquery.format("At least {0} characters required!"),
        maxlength: "Too many characters!"
    }
}
});

これが私の/app/views/layouts/_form.html.erbパーシャルのコードです(このパーシャルをレンダリングする実際のhtmlファイルは単純なajax送信フォームであるためあまり含まれていません):

<div id="theform">
<%= form_for(@user, :remote => true) do |f| %>

    Name: <div id='name'><%= f.text_field :name %></div><br/>
    Email: <div id='email'><%= f.text_field :email %></div><br/>
    Phone Number: <div id='phone_number'><%= f.text_field :phone_number%></div><br/>
    <%= f.submit "Submit" %>

<% end %>
</div>

このフォームのapplication.html.erbレイアウトファイルは次のとおりです。

<!DOCTYPE html>
<html>
<head>
  <title>IntroProject</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= javascript_include_tag "jquery-1.7.2.min" %>
  <%= javascript_include_tag "jquery-validation-1.9.0" %>
  <%= csrf_meta_tags %>
</head>
<body>
<h1><%= image_tag("leaf_logo.png", alt:"Leaf") %> Sample Form </h1>
<div class="container">
    <%= yield %>
</div>
<br/>

4

1 に答える 1

0

これを試して:

<%= form_for(@user, :remote => true, :form_to_validate => 'user') do |f| %>

$('form[form_to_validate=user]').validate({
  ...
})
于 2012-06-21T22:09:27.747 に答える