前提・実現したいこと
JavaScriptでAjaxやjQueryを使って、登録フォームを作っています。
そこで、if文を使ってバリデーションみたいな感じにしたいのですが、どうすればいいのかわかりません。
一応、途中ですがこんな雰囲気かな??と思い書いてみたのが、下のコードのif文に当たります。employee_codeのIDを使っているのですが、これであっているのかはわかりません。
内容としては、
社員番号はnullはダメで、6文字で入力しないと登録できない。
氏名はnullはダメで、1文字以上100文字以内で入力しないと登録できない。
メールアドレスはnullはダメで、1文字以上13文字以内で、メールアドレスの形式で入力しないと登録できない。
みたいな感じでif文を使ってやりたいです。
できれば、こういう感じ書くんだよみたいな感じで、コードを書いて送ってくれると嬉しいです。
発生している問題・エラーメッセージ
![イメージ説明](7c5eb4863bb9572630b327c03b017274.png)
該当のソースコード
JavaScript
1 2 //登録画面の表示 3 $("#forRegister").on("click", function() { 4 $.ajax({ 5 url: "/employee/select", 6 type: "GET", 7 contentType: "application/json", 8 }) 9 .done(function(user, textStatus, jqXHR) { 10 $("#p1").empty(); 11 $("#p1").append( 12 '<section><br><br><h2>社員登録</h2><br>' + 13 '<div><form id="form-name">' + 14 '<div class="form-group"><label> 社員番号 </label><input required type="text" class="form-control" placeholder="例 : 000001" id="employee_code" name="employee_code"></div>' + 15 '<div class="form-group"><label> 氏名 </label><input required type="text" class="form-control" placeholder="例 : 山田 太郎" id="employee_name" name="employee_name"></div>' + 16 '<div class="form-group"><label> ふりがな </label><input required type="text" class="form-control" placeholder="例 : やまだ たろう" id="furigana" name="furigana"></div>' + 17 '<div class="form-group"><label> メールアドレス </label><input required type="text" class="form-control" placeholder="例 : example@upload-gp.co.jp" id="mail_address" name="mail_address"></div>' + 18 '<div class="form-group"><label> 電話番号 </label><input required type="text" class="form-control" placeholder="例 : 000-000-000" id="tel_no" name="tel_no"></div>' + 19 '<div class="form-group"><label> 所属グループ </label><select class="form-control" id="affiliation_group" name="affiliation_group"><option value="">選択してください</option></select></div>' + 20 '<div class="form-group"><label> 役職 </label><select class="form-control" id="position" name="position"><option value="">選択してください</option></select></div>' + 21 '<div style="text-align: center; margin-top: 30px;">' + 22 '<button class="c" type="" id="register">登録する</button>' + 23 '</div></form></div></section>' 24 ); 25 for (var j = 0; j < user[0].length; j++) { 26 $("#affiliation_group").append($('<option>').html(user[0][j].name).val(user[0][j].value)); 27 } 28 for (var j = 0; j < user[1].length; j++) { 29 $("#position").append($('<option>').html(user[1][j].name).val(user[1][j].value)); 30 } 31 32 // if ($("#employee_code").val() === null || $("#employee_code").val() === "") { 33 // alert("社員番号を入力してください。"); 34 35 // } 36 // if ($("#employee_code").val().length === 6) { 37 // alert("6文字で入力してください。"); 38 39 // } 40 41 42 }) 43 .fail(function(jqXHR, textStatus, errorThrown) { 44 $("#p1").text(jqXHR.status); //例:404 45 }) 46 .always(function() {}); 47 }); 48 49 50 //登録する 51 $(document).on("click", "#register", function() { 52 if ($("#employee_code").val() === null || $("#employee_code").val() === "") { 53 alert("社員番号を入力してください。"); 54 return; 55 } 56 var json1 = { 57 employee_code: $("#employee_code").val(), 58 employee_name: $("#employee_name").val(), 59 furigana: $("#furigana").val(), 60 mail_address: $("#mail_address").val(), 61 tel_no: $("#tel_no").val(), 62 affiliation_group_code: $("#affiliation_group").val(), 63 position_code: $("#position").val(), 64 }; 65 $.ajax({ 66 url: "/employee/register", 67 type: "POST", 68 contentType: "application/json", 69 data: JSON.stringify(json1), 70 dataType: "json", 71 }) 72 .done(function(userList, textStatus, jqXHR) { 73 $("#p1").empty() 74 $("#p1").append('<h4>登録が完了しました</h4>') 75 }) 76 .fail(function(jqXHR, textStatus, errorThrown) { 77 $("#p1").text(jqXHR.status); 78 }) 79 .always(function() {}); 80 }); 81 82
java
1@RestController 2@RequestMapping("/employee") 3public class DBA_Employee_Controller { 4 5 private final Office_Worker_Service office_worker_service; 6 7 @Autowired 8 public DBA_Employee_Controller(Office_Worker_Service office_worker_service) { 9 10 this.office_worker_service = office_worker_service; 11 } 12 13 @PostMapping("/register") 14 @ResponseBody 15 public User register(@RequestBody UserForm userForm) { 16 17 User user = new User(); 18 19 user.setEmployee_code(userForm.getEmployee_code()); 20 user.setEmployee_name(userForm.getEmployee_name()); 21 user.setFurigana(userForm.getFurigana()); 22 user.setMail_address(userForm.getMail_address()); 23 user.setTel_no(userForm.getTel_no()); 24 user.setAffiliation_group_code(userForm.getAffiliation_group_code()); 25 user.setPosition_code(userForm.getPosition_code()); 26 27 office_worker_service.insert(user); 28 29 return user; 30 } 31 32 33 @GetMapping("/select") 34 @ResponseBody 35 public List<List<CodeMast>> select(){ 36 37 List<CodeMast> AffiliationGroup = office_worker_service.AllAffiliationGroup(); 38 List<CodeMast> Position = office_worker_service.AllPosition(); 39 40 List<List<CodeMast>> list = new ArrayList<List<CodeMast>>(); 41 42 list.add(AffiliationGroup); 43 list.add(Position); 44 45 return list; 46 } 47
試したこと
Validation-Engineやspringで作っているので、アノテーションなども使ってみたんですが、作り方の問題かうまくいきません。
なので、無理やりif文で書きたいです。
回答2件
あなたの回答
tips
プレビュー