我试过
array('Number', 'match', 'pattern'=>'(^'d*'.?'d*[0-9]+'d*$)|(^[0-9]+'d*'.'d*$)'),
因为我只想允许1.00、4.34、234.98 格式的正值
我通过得到这个错误
preg_match(): Unknown modifier '|'
您的模式应该用斜线括起来,即:
array('Number', 'match', 'pattern'=>'(/^'d*'.?'d*[0-9]+'d*$)|(^[0-9]+'d*'.'d*$)/')
如果使用number_format打印数字,可以使用:
[['formfield'], 'number', 'numberPattern' => '/(^'d+','d+'.'d+$)|(^'d+'.'d+$)/'],
它适用于1234.56或234,56