Как я могу заблокировать некоторые символы в текстовой области с помощью VueJs? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть текстовая область для отправки сообщений, и я хочу заблокировать электронные письма и ссылки на сайты.Поэтому, когда я пишу @ или https://, должны отображаться сообщения об ошибках с использованием v-if, но как я могу это сделать?Какие функции?

new Vue({
  el: "#app",
  data: {
  	message: {
    	content: ""
    }
  },
})
body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
 <div>
 <textarea v-bind="message" v-model="message.content" cols="30" rows="10">
   
 </textarea>
 
 <p v-if="message.content == '@'">
   No special characters
 </p>
 </div>
</div>

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Вы можете проверить по типу регулярного выражения, для вашего состояния var regex = /(@|https)/g;.Также установите hasError данные для управления отображением сообщений, и вы можете использовать vue watch для изменения ваших данных (message.content)

new Vue({
  el: "#app",
  data: {
  	message: {
    	content: ""
    },
    hasError: false
  },
  watch: {
    'message.content': function(newVal,oldVal) {
       var regex = /(@|https)/g;
       this.hasError = newVal.match(regex);
    }
  }
})
body {
  background: #20262E;
  padding: 10px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 10px;
  transition: all 0.2s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
 <div>
 <textarea v-bind="message" v-model="message.content" cols="30" rows="5">
   
 </textarea>
 
 <p v-if="hasError">
   No special characters
 </p>
 </div>
</div>
0 голосов
/ 21 февраля 2019

я думаю, что вы должны добавить метод @change или @input к textarea, а затем проверить все, используя regex, а затем заменить его или все, что вы хотите сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...