Commit d51e4ac

mokha <mokha@cisco.com>
2018-01-26 22:58:11
connect login form to controller for validation.
1 parent c3a1f19
Changed files (3)
app
javascript
views
app/javascript/packs/controllers/hello_controller.js
@@ -1,4 +0,0 @@
-import { Controller } from 'stimulus'
-
-export default class extends Controller {
-}
app/javascript/packs/controllers/sessions_controller.js
@@ -0,0 +1,19 @@
+import { Controller } from 'stimulus'
+
+export default class extends Controller {
+  validate() {
+    if (this.password && this.email) {
+      console.log("valid")
+    } else {
+      console.log("invalid")
+    }
+  }
+
+  get email() {
+    return this.targets.find("email").value
+  }
+
+  get password() {
+    return this.targets.find("password").value
+  }
+}
app/views/sessions/new.html.erb
@@ -2,12 +2,12 @@
   <div class="row">
     <div class="col">
       <h1>Login</h1>
-      <%= form_for :user, url: session_path, method: :post do |form| %>
+      <%= form_for :user, url: session_path, method: :post, data: { controller: 'sessions' } do |form| %>
         <div class="form-group">
-          <%= form.email_field :email, class: 'form-control', placeholder: User.human_attribute_name(:email), autofocus: true, required: :required %>
+          <%= form.email_field :email, class: 'form-control', placeholder: User.human_attribute_name(:email), autofocus: true, required: :required, data: { target: 'sessions.email', action: "change->sessions#validate" } %>
         </div>
         <div class="form-group">
-          <%= form.password_field :password, class: 'form-control', placeholder: User.human_attribute_name(:password), required: :required %>
+          <%= form.password_field :password, class: 'form-control', placeholder: User.human_attribute_name(:password), required: :required, data: { target: 'sessions.password', action: "change->sessions#validate" } %>
         </div>
         <%= form.button t('.login'), type: 'submit', class: 'btn btn-primary', data: { disable_with: t('.loading') } %>
         <%= link_to "Register", new_registration_path %>