0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【13日目】25日間でCocos Creatorでゲームを作る

0
Posted at

バリデーションを行い、エラーメッセージを表示する

ユーザー名の制約

  • 3文字以上、7文字以下
  • 記号は使用禁止

サーバーで受け取ったテキストを見て、バリデーションを行う

  1. game-server/index.jsに追記する
indx.js
  console.log("User connected:", socket.id);

  socket.on("login_request", (data) => {
    const username = data.username;

    // 追記 -ここから-
    let errorMessage = "";

    if (username.length < 3) {
      errorMessage = "3文字以上で入力してください。";
    } else if (username.length > 7) {
      errorMessage = "7文字以下で入力してください。";
    } else if (!/^[a-zA-Z0-9ぁ-んァ-ヶー一-龠]+$/.test(username)) {
      errorMessage = "記号は使用できません。";
    }

    if (errorMessage) {
      return socket.emit("login_response", {
        success: false,
        message: errorMessage,
      });
    }
    // 追記 -ここまで-

LoginUIでエラーメッセージを表示できるようにする

  1. LoginUI.tsを書き換える
LoginUI.ts
else {
    this.statusLabel.string = data.message ? data.message : "ログイン失敗";
    this.statusLabel.color = Color.RED;
}

動作確認をする

  1. ターミナルでサーバーのプロセスが起動中の場合、Ctrl + Cで停止させる
  2. サイドプロセスを起動する
    node index.js
  3. Cocos CreatorでMenuSceneを立ち上げ条件に合致しないユーザー情報を送信する
    image.png

まとめ

簡易的なものになりますが、エラーハンドリングもこれで完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?