Laravel正则表达式验证奇怪的行为

时间:2015-10-29 10:42:22

标签: regex validation laravel-4 preg-match

当我使用preg_match验证input时,它的行为符合我的要求。

$str = "abc-'xx";
$is_valid = preg_match("/[^A-Za-z'-]/", $str); // output => true

但是当我使用laravel验证时

$rules = [
    'name' => "regex:/[^A-Za-z'-]/"
];

$rules = [
    'name' => ["regex:/[^A-Za-z'-]/"]
];

总是失败。

为什么呢?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我能够通过使用正则表达式$form = new PaymentForm; if ($this->request->is(['patch', 'post', 'put'])){ if( $form->execute($this->request->data) ){ //ok } } }

来解决这个问题
/^[A-Za-z\-\']+$/

但无法找到理由,欣赏有人可以解释这一点。

相关问题