Element自定义正则表达式验证

rules: {
    //方式一
    name:[{ required: true, message: '请输入名称', trigger: 'blur' }],

    //方式二
    name:[{ validator: nameRule1, trigger: 'blur' }]

    //方式三
    name:[{ pattern: /^[A-Za-z0-9.@#_-]+$/, message: '只允许输入 字母数字 和 特殊符号(.@#_-)', trigger: 'blur'}]
}


//方式二 在data内添加
data(){
    let nameRule1 = (rule, value, callback) => {
      let regExp = /输入正则规则/;
      if (regExp.test(value) === false) {
           callback(new Error('不通过正则'));
        } else {
          callback();
      }
    };
    return:{}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过自定义注解来实现List<String>的正则表达式验证。下面是一个简单的示例: ```java import java.lang.annotation.*; import java.util.List; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RegexList { String value(); } public class RegexValidation { public static boolean validate(Object obj) throws IllegalAccessException { for (Field field : obj.getClass().getDeclaredFields()) { if (field.isAnnotationPresent(RegexList.class)) { field.setAccessible(true); Object fieldValue = field.get(obj); if (fieldValue instanceof List) { List<String> list = (List<String>) fieldValue; String regex = field.getAnnotation(RegexList.class).value(); for (String str : list) { if (!str.matches(regex)) { return false; } } } } } return true; } } ``` 在上述示例中,我们首先定义了一个注解 `@RegexList`,用于标记需要进行正则表达式验证的List<String>类型的字段。该注解包含一个属性 `value`,用于指定正则表达式。在 `RegexValidation` 类中,我们通过反射获取到对象的所有字段,如果字段被 `@RegexList` 注解标记,则进行正则表达式验证。 使用时,我们只需要在需要进行List<String>类型字段的正则表达式验证的类中,使用 `@RegexList` 注解标记该字段,例如: ```java public class MyClass { @RegexList("\\d+") private List<String> list; } ``` 在需要进行验证的时候,只需要调用 `validate` 方法,并传入需要验证的对象即可,例如: ```java MyClass obj = new MyClass(); obj.list = Arrays.asList("123", "456", "789"); boolean isValid = RegexValidation.validate(obj); System.out.println(isValid); // 输出:true,因为所有的字符串都是数字 ``` 希望这个示例可以帮助您解决问题。如果您还有其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值