我想使用alnum类型,但是没有空格,我能用它做点什么吗?或者我必须做自己的类型?我想让用户名没有空格。
就像这里:
private $username;
/**
* @Assert\NotBlank()
* @Assert\Length(max=4096)
* @Assert\Type(type="alnum")发布于 2018-10-23 21:50:52
解决这类问题的最强大的验证是正则表达式约束。
对于您的案例(一个非常简单的案例)来说,就足够使用了(参见长度)
/**
* @Assert\Length(max=4096, minMessage="...", maxMessage="...")
* @Assert\Regex(
* pattern = "/^[a-z0-9]+$/i",
* htmlPattern = "^[a-zA-Z0-9]+$",
* message="Your name must contain only letter or numbers"
* )
*/这里可以将两个验证器统一在一个验证器约束中,但请记住,如果您有多个条件(比如长度和禁止字符),您就失去了显示准确错误消息的能力。
/**
* @Assert\Regex(
* pattern = "/^[a-z0-9]{1,4096}$/i",
* htmlPattern = "^[a-zA-Z0-9]{1,4096}$",
* message="Your name must contain only letter or numbers and must have length between 1 and 4096"
* )
*/其中{1,4096}是长度字符串限制的min和max值。
htmlPattern和消息是可选的。
https://stackoverflow.com/questions/52954637
复制相似问题