我不明白为什么我的正则表达式不工作。任何密码都有错误信息。
$this->add('password', new RegexValidator(array(
'pattern' => '.{0}|.{4,}',
'message' => '0 or 4 char minimum'
)));
只需将stringlength验证与allowEmpty
选项组合:
$badPassMessage = 'Define a password using exactly 4 characters or leave it empty!';
$validation->add('password', new StringLength(array(
'max' => 4,
'min' => 4,
'allowEmpty' => true,
'messageMaximum' => $badPassMessage,
'messageMinimum' => $badPassMessage
)));
奖金我建议你总是用这个优秀的工具来测试你的模式:
正则表达式101
始终确保将正则表达式样式设置为pcre (php)
。