Я пытался
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*$)/')
Если вы используете числовой формат для печати своих номеров, вы можете использовать:
[['formfield'], 'number', 'numberPattern' => '/(^\d+\,\d+\.\d+$)|(^\d+\.\d+$)/'],
Работает с 1 234,56 или 234,56