为什么我的字母数字验证规则不能在CakePHP模型中工作?


Why won't my alphaNumeric validation rules work in my CakePHP model?

我已经在下面对我的字段进行了验证。

我的字段是Title, Content.

var $validate = array('title' =>array('alphaNumeric'=>array('rule'=>'alphaNumeric','required'=>'true','message'=>'Enter a title for this post',)),
                     'content'=>array('alphaNumeric'=>array('rule'=>'alphaNumeric','required'=>'true','message'=>'Enter some content for this post',)));

但是每当我在表单中输入一些文本并尝试提交时,它都会显示错误消息…

验证有问题吗?

这是我的表格

<h2> Add a Post Here </h2>
Please fill in all the fields.
<?php
echo $this->form->create('Post');
echo $this->form->error('Post.title');
echo $this->form- >input('Post.title',array('id'=>'posttitle','label'=>'title','size'=>'50','maxlength'=>'255','error'=>false));
echo $this->form->error('Post.content');
echo $this->form->input('Post.content',array('id'=>'postcontent','type'=>'textarea','label'=>'Content:','rows'=>'10','error'=>false));
echo $this->form->end(array('label'=>'Submit Post'));
?>

可以使用自定义正则表达式

'rule'    => array('custom', '[a-zA-Z0-9, ]+'),

我必须像下面这样更改正则表达式才能使它工作。

        'alphaNumeric' => array(
            'rule' => array('custom', '/[a-zA-Z0-9, ]+/'),
            'message' => 'Only letters and numbers allowed',

为什么内置的字母数字规则不这样做呢?