我正在尝试简单的模式验证:
var gulp = require('gulp');
var cleanCSS = require('gulp-clean-css');
var less = require('gulp-less');
var autoprefixer = require('gulp-autoprefixer');
var notify = require('gulp-notify');
var gutil = require('gulp-util');
var sourcemaps = require('gulp-sourcemaps');
var liveReload = require('gulp-livereload');
var path = require('path');
var moment = require('moment')
gulp.task('less', function () {
return gulp.src('./_dev/less/styles.less')
.pipe(less({
paths: [ path.join(__dirname, 'less', 'includes') ]
}))
.pipe(less().on('error', function(err){
gutil.log(err);
this.emit('end');
}))
.pipe(liveReload())
.pipe(gulp.dest('./_dev/css'))
.pipe(notify('Less worked at (' + moment().format('MMM Do h:mm:ss A') + ')'));
});
但它给出的错误如下:
@Min(value = 0, message = "invalid.amount")
@Pattern(regexp = "[0-9]+", message = "invalid.amount")
private double amount;
但这完全正常:
org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.throwExceptionForNullValidator(ConstraintTree.java:229)
似乎正则表达式不适用于数字类型。
答案 0 :(得分:0)
如果子字符串正则表达式匹配通过,则假设@Pattern注释将返回true。如果它不起作用那么你的假设可能不是真的。
@Pattern(regex =,flag =)CharSequence
检查带注释的字符串是否与正则表达式正则表达式匹配 考虑给定的标志匹配。
您可以尝试将double更改为String并正常使用@Pattern。
@Pattern(regexp = "[0-9]+", message = "invalid.amount")
private String amount;
另一种方式可能是:
@DecimalMax("10.0") @DecimalMin("0.0")
private double amount;