Javascriptでパスワードの変更処理を作成しています。
Node.jsで開発してるのもあるかどうかちょっとわからないのでアドバイスのほうをお願いいたします。
処理の流れ
①入力すべき内容の入力を行う。
・登録してあるパスワード
・新しく登録するパスワード
・確認のために新しいパスワードをもう一度入力する
②適用ボタンの押下で処理は終了になります。
変更による処理はUpdate文でいけると考えております。
ここで考えられるエラー処理は、
・登録しているパスワードが存在しない場合
・入力されている新しいパスワードと確認用が一致しない場合
・正規表現にかかわるエラー?(これは必要かどうかわからない)の3つだと思います。
処理の流れはこんな感じです。
入力した値をどう取得するのか、どのようなメソッドを使うとよいのか、関数は必要かなどを教えてはいただけないでしょうか?
password_change.ejs
html
1<!DOCTYPE html> 2<html lang="ja"> 3<%- include('../ejs-template/head', { 4 title:'パスワード変更', 5 css:'/bit-scheduler/password_change/css/style.css', 6 libraries:[] 7}) %> 8 9<body> 10 <%- include('../ejs-template/header', { 11 staff: type === 'staff' 12 }) %> 13 <div id="main"> 14 <div id="sidebar"> 15 <h3>個人設定</h3> 16 <p>ログインID: </p> 17 <p>作成日: </p> 18 <p>アカウント削除</p> 19 </div> 20 <form action="/password_change" method="post"> 21 <div id="content"> 22 <h2>パスワード変更</h2> 23 <div class="splitcontext"> 24 <fieldset class="well"> 25 <p class="info"><label>パスワード</label> 26 <input type="password" name="password" class="form-control"> 27 </p> 28 <p class="info"><label>新しいパスワード</label> 29 <input type="new_pass" name="new_pass" class="form-control"> 30 </p> 31 <p class="info"><label>パスワードの確認</label> 32 <input type="confirm" name="confirm" class="form-control"> 33 </p> 34 </fieldset> 35 <% if (typeof pass !== 'undefined'){ %> 36 <p class="error"><%= pass %></p> 37 <% } %> 38 <p> 39 <button class="btn btn-primary" type="submit" name="save">適用</button> 40 </p> 41 </div> 42 </div> 43 </div> 44</body> 45 46</html>
password_change.js
js
1const router = require('express').Router(); 2 3router.get('/', (req, res, next) => { 4 res.render('password_change/index', { 5 name: req.session.user.name, 6 type: req.session.user.type 7 }); 8}); 9 10router.post('/', (req, res, next) => { 11 const password = req.body.pasword; 12 const new_pass = req.body.new_pass; 13 const confirm = req.body.confirm; 14//こんな感じでupdate文を行うのであっているのか? 15 const query = 'UPDATE user SET password = ? WHERE id = ?'; 16//以下のところでエラーの処理を書きたいのですがどう書いたらよいのかわかりません。 17 connection.query(query, function(err, ){ 18 if (pass) { 19 res.render('pass_change', { 20 title:'パスワード変更', 21 pass:'パスワードが間違っています' 22 }); 23 }else{ 24 connection.query(registerQuery, function(err, rows) { 25 res.redirect(''); 26 }); 27 } 28 }); 29}); 30 31module.exports = router;
Node.jsによる開発はこれが初めてですので、ご指導ご鞭撻よろしくお願いいたします。
まだ足りないと思う情報がもしあればコメントのほうでよろしくお願いいたします。






