validate中,value长度校验(中文长度)

validate中,无论minLength还是maxLength校验,中文占一个字符。但后台数据库的varchar2中文占2个字节,所以当validate长度校验通过后,后台不一定能成功保存(或者是修改)数据。

因此,这只能在validate里对中文长度进行校验。其方法如下:

//中文字符长度处理
 $.validator.addMethod(
  "StringLength", //验证方法名称
  function(value, element, param) {//验证规则
 var flag = false;
 var length = value.length;
 for ( var i = 0; i < length; i++) {
 if (value.charCodeAt(i) > 127) {
length++;
 }
 }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 `rules` 属性来对输入框进行校验,其通过 `validator` 函数自定义校验规则。在 `validator` 函数,可以使用 `string.length` 获取输入框字符的长度,然后判断其是否符合要求。 例如,要求输入框的字符长度必须在 2 到 10 之间: ```html <template> <el-form ref="form" :model="formData" :rules="rules"> <el-form-item label="输入框"> <el-input v-model="formData.input"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> <script> export default { data() { return { formData: { input: '' }, rules: { input: [ { validator: this.validateInput, trigger: 'blur' } ] } } }, methods: { validateInput(rule, value, callback) { const length = value.length; if (length >= 2 && length <= 10) { callback(); } else { callback(new Error('字符长度必须在2到10之间')); } }, submitForm() { this.$refs.form.validate(valid => { if (valid) { // 校验通过,执行提交操作 } }); } } } </script> ``` 在上面的代码,`validateInput` 函数用于校验输入框的字符长度,如果长度符合要求,则通过调用 `callback()` 来通知校验通过,否则通过调用 `callback(new Error('错误信息'))` 来通知校验失败,并提示错误信息。在 `rules` 属性,将 `validator` 属性设置为 `validateInput` 函数,表示使用该函数进行校验。在点击提交按钮时,通过调用 `this.$refs.form.validate()` 方法来触发表单的校验操作。如果所有的校验规则都通过,则回调函数的 `valid` 参数为 `true`,表示校验通过,可以执行提交操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值