如何获取vuejs所需的输入

Bas*_*tos 6 html javascript css laravel vue.js

我有我的聊天,我不希望人们发送空消息,所以我希望我的输入成为必需的。感谢您的帮助。

我尝试在输入行中添加“required='required'”,我也尝试了 veeValidate,但是当我使用它时它破坏了我的聊天,我还尝试在 Props 和数据中添加“Required = true”,但没有得到好的结果

这是 ChatForm.vue

<template>
    <div class="input-group" >
        <input id="btn-input" type="text" name="message"  class="form-control input-sm" placeholder="Ecrire..." v-model="newMessage" @keyup.enter="sendMessage">

        <span class="input-group-btn">
            <button class="btn btn-primary btn-sm"  id="btn-chat" @click="sendMessage">
                &#10003
            </button>
        </span>
    </div>
</template>

<script>


    export default {
        props: ['user'],

        data() {
            return {
                newMessage: '',
            }
        },

        methods: {
            sendMessage() {
                this.$emit('messagesent', {
                    user: this.user,
                    message: this.newMessage
                });

                setTimeout(function() {
                    const messages = document.getElementById('mess_cont');

                    messages.scrollTop = messages.scrollHeight;
                    }, 200);
                this.newMessage = '';

            }

        }
    }


</script>
Run Code Online (Sandbox Code Playgroud)

这是我在 app.blade.php 中的表单

  <div id="app" class="container-chat">

                    <div class="row">
                        <div class="col-md-12 col-md-offset-2">
                            <div class="col-md-12 col-md-offset-2">
                                <div class="panel-body panel-content" id="mess_cont">

                                    <chat-messages id="mess" :messages="messages" :currentuserid="{{Auth::user()->id}}"></chat-messages>
                                </div>
                                <div class="panel-footer">
                                    <chat-form
                                            v-on:messagesent="addMessage"
                                            :user="{{ Auth::user() }}"
                                    ></chat-form>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
Run Code Online (Sandbox Code Playgroud)

asi*_*hmi 9

尝试像这样更改您的 ChatForm.vue:

<template>
 <form @submit.prevent="sendMessage">   
   <div class="input-group" >
     <input id="btn-input" type="text" name="message"  class="form-control input-sm" placeholder="Ecrire..." v-model="newMessage" required>

     <span class="input-group-btn">
       <button class="btn btn-primary btn-sm" type="submit" id="btn-chat">
                &#10003
            </button>
        </span>
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

您没有以input正确的方式处理 ,input所需的 需要位于 a 内form,并且如果字段为空,required关键字将阻止表单提交。input