MENU
Html
<div id="app"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> <el-form-item label="字符串" prop="text"> <el-input v-model="ruleForm.text" placeholder="请输入"></el-input> </el-form-item> </el-form> </div>
以上代码需要引入以下文件:
1、<link rel="stylesheet" href="/node_modules/element-ui/lib/theme-chalk/index.css">
2、<script src="/node_modules/vue/dist/vue.js"></script>
3、<script src="/node_modules/element-ui/lib/index.js"></script>
JavaScript
new Vue({
el: "#app",
data() {
return {
ruleForm: {
text: ''
},
rules: {
text: [{
validator: this.validateQueryFormRules,
trigger: 'change'
}]
}
}
},
methods: {
validateQueryFormRules(rule, value, callback) {
if (!this.specialCharacters(value)) return callback(new Error("不能含有特殊字符!!"));
callback();
},
specialCharacters(str) {
if (!str) return true;
const specialKey = "[`~!#$^&*()=|{}': ; '\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?‘']";
for (var i = 0; i < str.length; i++) if (specialKey.indexOf(str.substr(i, 1)) != -1) return false;
return true;
}
}
});