当我使用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'-]/"]
];
总是失败。
为什么呢?我该如何解决这个问题?
答案 0 :(得分:0)
我能够通过使用正则表达式$form = new PaymentForm;
if ($this->request->is(['patch', 'post', 'put'])){
if( $form->execute($this->request->data) ){
//ok
}
}
}
/^[A-Za-z\-\']+$/
但无法找到理由,欣赏有人可以解释这一点。