CakePHP否定RegEx无法正常工作

时间:2012-10-15 20:55:06

标签: php regex validation cakephp model

我试图将我的模型的第一个名称强制为任何字符,但数字,但到目前为止,它没有按预期工作。当我尝试这个时:

public $validate = array(
    'first_name' => array(
        array(
            'rule' => array('custom', '/^[\d]+/'),
            'message' => 'Please fill in a valid first name'
        )
    )
);

它不起作用,因为我可以保存 4 作为名称。如果我将否定移到括号内,如下:

public $validate = array(
    'first_name' => array(
        array(
            'rule' => array('custom', '/[^\d]+/'), //allow anything but numbers
            'message' => 'Please fill in a valid first name'
        )
    )
);

它也不起作用,因为我可以保存 a4 作为名称。那么,如何在不必同时包含两个自定义验证规则的情况下获得最佳效果?

1 个答案:

答案 0 :(得分:1)

/^[^\d]+$/允许除数字之外的任何内容