我想验证用户数据,我有一个字段预算,我想要这个格式给出ddd.ddd,ddd exp:235.123,125
如何使用正则表达式指定此格式,我正在使用symfony和doctrine这是我尝试过的,当我给出不同的格式时没有发生任何事情
/**
* @var float
*
* @ORM\Column(name="budget", type="float",nullable=true)
*
*
* @Assert\Regex(
* pattern="/^\d\d\d[.]\d\d\d[,]\d\d\d+$/",
* match=false,
* message="Budget Invalid"
* )
*/
private $budget;
答案 0 :(得分:0)
使用以下修复程序:
task ciBuild {
def cobolFiles = fileTree("src/main/cobol").matching {
include "**/*.CBL"
}
dependsOn collectFiles
inputs.files cobolFiles
outputs.dir 'path/to/outputDir'
doLast {
cobolFiles.files.parallelStream().each { File file ->
exec {
commandLine "${projectDir}/compileFile.bat"
args file.absolutePath
ignoreExitValue = true
}
}
}
}
您的模式应该匹配您指定的格式,因此,match
必须设置为 true ,或者删除为 true 是默认值。
如果
* @Assert\Regex( * pattern="/^\d{3}\.\d{3},\d{3}$/", * match=true, * message="Budget Invalid"
(或未设置),如果给定的字符串与给定的pattern正则表达式匹配,则此验证器将通过。但是,当此选项设置为true
时,将发生相反的情况:仅当给定字符串不与pattern正则表达式匹配时,验证才会通过。
模式可以缩小false
:字符串开头,3位数,^\d{3}\.\d{3},\d{3}$
,3位数,.
,然后是字符串末尾的3位数。< / p>
如果最后一个号码的数字超过3位,请使用,
代替\d{3,}
。