trim修飾子

trim修飾子は、入力フィールドの前後の空白を削除しデータの正確性を保つために使用されます。

trim修飾子
記法

v-model.trim=”データプロパティ名”

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vue.js trim修飾子について</title>
    <link rel="stylesheet" href="./main.css" />
  </head>
  <body>
    <div id="app">
      <form @submit.prevent="submitForm" class="form-container">
        <label for="username" class="form-label">ユーザー名:</label>
        <input
          type="text"
          id="username"
          v-model.trim="username"
          class="form-input"
          placeholder="例:  ユーザー名  "
        />
        <button type="submit" class="form-button">送信</button>
      </form>
      <p>
        入力されたユーザー名:
        <span class="output">{{ formattedUsername }}</span>
      </p>
      <p>(前後の空白が削除されます)</p>
    </div>
    <!-- CDN -->
    <script src="CDNのURL"></script>
    <script src="./main.js"></script>
  </body>
</html>
// main.js
Vue.createApp({
  data() {
    return {
      username: "",
    };
  },
  computed: {
    formattedUsername() {
      // 引用符を使用して前後の空白が削除されたことを強調
      return `"${this.username}"`;
    },
  },
  methods: {
    submitForm() {
      // 引用符を使用して前後の空白が削除されたことを強調
      alert(`ユーザー名: "${this.username}"`);
    },
  },
}).mount("#app");
/* main.css */
#app {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

.form-container {
  display: flex;
  flex-direction: column;
}

.form-label {
  margin-bottom: 8px;
  font-weight: bold;
}

.form-input {
  width: 100%;
  padding: 8px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.form-button {
  padding: 10px 15px;
  background-color: #28a745;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.form-button:hover {
  background-color: #218838;
}

.output {
  font-weight: bold;
  color: #333;
}
出力結果

入力されたユーザー名: {{ formattedUsername }}

(前後の空白が削除されます)