直接在页面引用vee-validate
源文件下载地址:http://www.bootcdn.cn/vee-validate/
官方api https://baianat.github.io/vee-validate/guide/rules.html#is-not

.is-danger { border: 1px solid red; } .is-danger>span{//默认none,防止初始化时显示{{error信息}} display: block; }
注:vee-validate支持对象表示方法,支持动态取消校验:
v-validate="{ required: !(brandBaseItem && brandBaseItem.logoName),//作为动态校验规则 image: true, size: 300, ext: ['png', 'jpeg', 'jpg', 'bmp']}"
https://segmentfault.com/q/1010000013117209
<script th:src="@{/js/vee-validate/vee-validate.min.js}"></script>
<script th:src="@{/js/vee-validate/vee-zh_CN.js}"></script>
<input v-validate="'required|phone'" :class="{'input': true, 'is-danger': errors.has('phone') }" name="phone" type="text" placeholder="phone" />
<br/>
<span v-show="errors.has('phone')" style="display:none;color: red;font-size: 12px;">{{ errors.first('phone') }}</span> <br/> <input v-validate="'required|email'" :class="{'input': true, 'is-danger': errors.has('email') }" name="email" type="text" placeholder="email" /> <br/> <span v-show="errors.has('email')" style="color: red;font-size: 12px;">{{ errors.first('email') }}</span>
<script th:inline="javascript">
/*<